백준 1152번을 풀어보았다.
let input = require('fs').readFileSync('/dev/stdin').toString().trim()
console.log(input.split(' ').length)
분명 문제에 주어진 예제 입력들에 대해선 정답을 출력해내는데 틀렸습니다! 가 나왔다.
알아보니 빈 문자열이 입력으로 들어오는 경우 0을 출력해야 하는데 위 코드는 1을 출력하는 것이 문제였다.
빈 문자열이 입력으로 들어올 경우 input은 [""]이 되고 input.split(' ').length는 1이 된다.
따라서 아래와 같이 입력값이 빈 문자열인 경우가 아닌 경우로 구분해주어야 한다.
let input = require('fs').readFileSync('/dev/stdin').toString().trim()
console.log(input !== "" ? input.split(' ').length : 0)
💫 이 문제를 통해 배운 것
빈 문자열과 같이 극단적인 입력값에서 예외가 발생하지는 않는지 잘 확인하자.