728x90
출처: 백준
문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수 T가 주어진다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
출력
각 테스트 케이스마다 A+B를 출력한다.
예제 입력 1
5
1 1
2 3
3 4
9 8
5 2
예제 출력 1
2
5
7
17
7
내 코드
const readline = require("readline");
const rl = readline.createInterface({
input : process.stdin,
output : process.stdout
});
let input = [];
rl.on("line", function(line){
input.push(line.split(' ').map(el => +el)); // 입력받은 값을 공백을 기준으로 나누고 숫자로 변환
}).on("close", function(){
const t = input[0]; // 테스트 케이스의 개수 T
let numbers = []; // input의 0번 째를 제외한 나머지 라인을 담기 위한 배열
for(let i=1; i<=t; i++){ // input의 0번 째를 제외한 나머지 라인 numbers에 push
numbers.push(input[i]) // [ [ 1, 1 ], [ 2, 3 ], [ 3, 4 ], [ 9, 8 ], [ 5, 2 ] ]
}
for(let i=0; i<numbers.length; i++){
let num = numbers[i][0] + numbers[i][1]; // numbers 배열 안의 각 배열들의 첫번 째 두번 째 값을 더함
console.log(num);
}
process.exit();
})
결과
> 5 > 1 1 > 2 3 > 3 4 > 9 8 > 5 2 2 5 7 17 7 |
입력받은 값중 첫번 째 값은 테스트 케이스 개수 t로 받고 나머지 값들을 numbers 배열에 넣었다.
그럼 number배열은 이렇다.
[ [ 1, 1 ], [ 2, 3 ], [ 3, 4 ], [ 9, 8 ], [ 5, 2 ] ]
또 각 라인이 배열로 들어가니까
numbers[1] = [ 1, 1 ]
numbers[2] = [ 2, 3 ]
numbers[3] = [ 3, 4 ]
numbers[4] = [ 9, 8 ]
numbers[5] = [ 5, 2 ]
가 된다.
이것을 for문을 이용해서 더해주기만 하면 끝!
다음에 나올 거의 같은 문제인 11021: A+B - 7번의 문제에서 비슷하지만 조금 더 간결하게 풀어보았다.
728x90
'프로그래밍 > 백준 알고리즘' 카테고리의 다른 글
[백준 / node.js] 2741번: N 찍기 (0) | 2021.07.23 |
---|---|
[백준 / node.js] 8393: 합 (2) | 2021.07.23 |
[백준 / node.js] 2739번: 구구단 (0) | 2021.07.23 |
[백준 / node.js] 2884번: 알람 시계 (0) | 2021.07.22 |
[백준 / node.js] 14681번: 사분면 고르기 (0) | 2021.07.21 |
댓글