출처
백준 온라인 저지
문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력은 여러 개의 테스트 케이스로 이루어져 있다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다.
입력의 마지막에는 0 두 개가 들어온다.
풀이
split 메서드를 사용하여 줄(\n)을 기준으로 여러 개의 테스트 케이스를 나누어줍니다.
마지막 인덱스를 제외한 배열을 for 문으로 각각의 테스트 케이스에
split 메서드를 사용하여 A와 B를 구분해준 후 더한 값을 출력해 줍니다.
코드
const input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n');
for (let i = 0; i < input.length - 1; i++) {
let numbers = input[i].split(' ').map(v => v * 1);
console.log(numbers[0] + numbers[1]);
}
다른 풀이
이 문제는 테스트 케이스의 개수가 주어지지 않기 때문에 무한한 반복문을 사용하는 방법도 있습니다.
A의 값은 마지막을 제외하면 0이 나오지 않기 때문에 while문에서 A의 값이 0일 시
루프를 종료한다는 조건을 걸어주었습니다.
const input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n');
while (input[0][0] != 0) {
const numbers = input.shift().split(" ");
console.log(+numbers[0] + +numbers[1]);
}