dnjsdud2257   2년 전

소스코드는 아래와 같고 예제의 정답이 나오는지 다 확인하였고

1~5까지는 직접 적어서 세보았는데 맞았습니다.

그리고 console.log도 문자열로도 출력해보고 코드와 같이 숫자 공백 숫자 형태로 해보아도 모두 오답이라고 나옵니다.

어떠한 것이 문제인지 잘 모르겠습니다.

otter66   2년 전

대충봤기때문에 아닐 수도 있습니다.

문제에서는 범위가 45까지인 것 같은데 현재 만드신 배열로 45의 값이 들어온다면 처리가 가능한가요?

wizardrabbit   2년 전

안녕하세요? 반례입니다:

입력: 1
정답: 0 1
출력: 1 undefined

▶ 틀린 이유 한 줄 요약: 입력 데이터를 입력받은 후 정수로 변환하는 과정이 없어 코드가 오작동하였습니다.

Node.js의 readFileSync() 는 경로에 있는 파일을 읽은 후, 이를 버퍼 형태로 반환합니다. 그렇기 때문에 실제로 읽은 데이터를 제대로 사용하기 위해서는 이 버퍼를 용도에 맞게 문자열 또는 정수로 변환하는 과정이 있어야 합니다.

입력받은 데이터를 문자열로 사용한다면 toString()을 사용하시면 됩니다. 하지만 이 경우 양끝에 불필요한 줄바꿈 문자가 남아 있을 수 있기 때문에, 백준에서 문제를 풀 경우 대부분의 문제에 trim()을 추가로 사용합니다.

입력받은 데이터를 정수 형태로 사용한다면 parseInt()를 사용하시면 됩니다.

따라서 Node.js에서 입력받은 데이터를 사용하실 때는 첨부된 코드처럼 사용하시면 되겠습니다. 다행히도 본 코드에서 틀린 것은 이 입력 문제를 제외하고는 없으니, 입력 부분만 적절히 수정해 주시면 되겠습니다!

▶ 참고:

Node.js 온라인 컴파일러: https://www.jdoodle.com/execut...

웹 브라우저에서 F12를 눌러서 나오는 개발자 도구로 디버깅할 경우 입력을 질문자님께서 직접 가공하여 넣으므로 이러한 오류를 찾을 수 없습니다. Node.js 전용 컴파일러를 추천합니다.

dnjsdud2257   2년 전

정말 감사드립니다. ㅠㅠ

아직 백준의 입출력을 정확히 이해하지 못하여 문제 푸는데 어려움이 많았는데 많은 도움 되었습니다.

덕분에 문제도 해결하고 지식도 쌓아가네요 감사합니다 ㅎㅎ

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