백준 문제를 풀 때 여러 줄의 값을 입력 받는 경우 의문을 가지게 했던 점이 있었다.
const input = require('fs').readFileSync('/dev/stdin').toString().split('\n').map(Number);
이렇게 개행문자('\n')로 나눠 값들을 입력 받아 배열을 반환할 때
입력 값의 마지막에 개행문자가 포함된 경우 값 하나를 더 갖는다는 것이다.
예를 들어 1부터 10까지를 입력받았을 때,
//[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0]
이렇게 0이라는 하나의 값을 더 갖는 배열을 반환한다.
이를 막기 위해선 trim()을 사용한다.
const input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n').map(Number);
//[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
'ALGORITHM' 카테고리의 다른 글
[백준/ node.js] 배열 - 4344번 평균은 넘겠지 (0) | 2021.07.04 |
---|---|
[백준/ node.js] 배열 - 8958번 OX퀴즈 (0) | 2021.07.03 |
[백준/ node.js] 배열 - 3052번 나머지 (0) | 2021.06.30 |
[백준/ node.js] 배열 - 2577번 숫자의 개수 (0) | 2021.06.29 |
[백준/ node.js] 배열 - 2562번 최댓값 (0) | 2021.06.28 |