본문 바로가기
프로그래밍/백준 알고리즘

[백준 / node.js] 10950번: A+B - 3

by 정빈e 2021. 7. 23.
728x90

출처: 백준

 

10950번: A+B - 3

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

문제

두 정수 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

댓글