백준 10951번을 풀어보았다.
A+B 유형에 EOF라는 조건이 붙어 기존 문제들과 많이 다를 줄 알았는데 크게 다를 건 없었다.
let input = require('fs').readFileSync('/dev/stdin').toString().split('\n')
let output = ''
for (let i = 0; i < input.length; i++) {
const [a, b] = input[i].split(' ').map(Number)
output += `${a+b}\n`
}
console.log(output.trim())
당연히 맞을 거라 생각하고 위 코드를 제출했는데 틀렸다고 나왔다.
아무리 고민해도 어디가 잘못된 건지 모르겠어서 관련하여 찾아보던 중 백준 질문글을 보게되었다.
나와 같은 문제를 겪고 있는 사람이 있었고, 다행히 내 코드의 문제라기보다 백준 테스트 케이스의 문제인 것 같았다.
테스트 케이스 중 마지막 부분에 \n이 하나 더 추가된 테스트 케이스가 있었나보다.
테스트 케이스의 마지막 \n을 없애기 위해 input을 읽어들일 때 trim 메소드를 사용하거나 반복문의 조건문을 i < input.length - 1까지로 설정할 수 있다.
let input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n')
let output = ''
for (let i = 0; i < input.length; i++) {
const [a, b] = input[i].split(' ').map(Number)
output += `${a+b}\n`
}
console.log(output.trim())
let input = require('fs').readFileSync('/dev/stdin').toString().split('\n')
let output = ''
for (let i = 0; i < input.length - 1; i++) {
const [a, b] = input[i].split(' ').map(Number)
output += `${a+b}\n`
}
console.log(output.trim())
이렇게 수정하니 통과할 수 있었다.
'Algorithm > Baekjoon' 카테고리의 다른 글
백준 10810번, 10813번 (0) | 2024.10.10 |
---|---|
백준 10818번 (0) | 2024.10.10 |
백준 10871번 (3) | 2024.10.09 |
백준 10952번 (0) | 2024.10.07 |
테스트 케이스의 개수를 입력받는 유형 (2) | 2024.10.06 |