xogjs96   1년 전

vscode에서는 답이 잘 나오는데.. 어디가 잘못된걸까요?

vanava   1년 전

확실하지는 않지만

예시에서의 처음 입력값인 5를 입력받아서 5줄 만큼의 문자열을 입력받는 기능의 구현이 필요한것 같습니다.

지금 코드는 문자열만 통으로 입력받아 '\n'를 기준으로 자르기만 하고있는것 같아요

xogjs96   1년 전

아 맞네요.. 정말 감사드립니다! 

굳이 근데 저걸 숫자로 또 받아줘서 해야할 필요가 있는지..ㅠ 일단 말씀대로 해서 되긴 됐는데 좀 찜찜하네요 

vanava   1년 전

물론 말씀하신 방법대로 하는것이 더 효율적이거나 쉽다고 느껴지실 수 있지만 알고리즘 문제의 특성상 정확함이 요구되기에 저러한 명시들이 필요하다고 생각합니다.

이 문제같은경우는 입력값이 엄청 크지 않아서 저런 방식으로 하는것이 더 쉬울 수 있습니다만, 

만약 입력값이 어마어마하게 커져서 한줄 입력 -> 결과 출력 -> 메모리 해제등의 작업을 해주어야 한다면 몇번 반복해야하는지 기준등을 알아야 하죠.

그냥 알고리즘 문제의 특수성이라고 생각하시면 편할것 같아요 ^^

즐거운 코딩하세요!

djm03178   1년 전

굳이 해당 수를 입력받지 않아도 됩니다. 그 수를 입력받아 그 횟수만큼 루프를 도는 것이 대부분의 언어에서 훨씬 편하기 때문에 그렇게 주는 것입니다. 이 문제 같은 경우는 이 수가 반드시 필요한 것은 아니지만 없으면 데이터가 나타내는 의미를 명확히 할 수 없는 경우도 많기 때문에 임의의 개수가 주어지는 경우 그 수를 먼저 명시하는 것이 일반적입니다.

이 코드가 틀린 이유는 < input.length - 1까지 돌아야 하는데 < input.length로 돌고 있기 때문입니다. 올바른 데이터는 항상 가장 마지막이 개행 문자로 끝나기 때문입니다.

xogjs96   1년 전

다들 답변 너무 감사드립니다!! 

댓글을 작성하려면 로그인해야 합니다.