ALGORITHM

백준 node.js로 여러 줄의 값 입력받을 때 주의해야 할 점

연듀 2021. 7. 1. 20:01

 

 

백준 문제를 풀 때 여러 줄의 값을 입력 받는 경우 의문을 가지게 했던 점이 있었다. 

 

 

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]