[백준/Node.js] 10950번: A+B(3)

Jay Kim·2020년 3월 29일
3

문제

두 정수 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);
  /*
  예시)
  < 입력 >       < 입력을 받은 line 배열 >
    2	      [ '2', [ '3 4' ], [ '4 5' ] ]
    3 4
    4 5
  */
}).on('close', function () {
  let count = Number(input[0]);	// 테스트 케이스의 개수
  let numbers = [];

  // 테스트 케이스 개수만큼 각 케이스 배열 생성 후 numbers 배열에 할당
  for (let i = 1; i <= count; i++) {
    numbers.push(input[i].split(' '));
  }
  /*
        < numbers 배열 >
  [ [ '3', '4' ], [ '4', '5' ] ]
  */

  /* 테스트 케이스 개수만큼 
  number 배열 안의, 각 케이스 배열 안 요소를 인덱스로 접근하여 합한다.*/
  for (let i = 0; i < count; i++) {
    num1 = Number(numbers[i][0]);
    num2 = Number(numbers[i][1]);

    console.log(num1 + num2);
  }
	
  process.exit();
});

Comment

C언어로 할 때는 입력 받는 방법을 몰랐던 것 같다. 11달 전이니 가물가물..
저 당시엔 내가 개발로 진로를 정할지 생각도 못했었는데 1년이 안되는 기간 동안 참 많은 일들이 있었구나 싶었다. 당시 제일 자신있었던 C언어로 입력 받는 것에서부터 끙끙댔는데, 많이 늘었구나 싶기도하고..

Anyway! 문제를 살펴보면..
문제 자체의 논리는 쉬웠다. 입력 받을 케이스 개수 입력 후, 해당 개수만큼 테스트 케이스를 입력하면 각 테스트 숫자들의 합이 출력되는 것이다. 하지만 Node.js로도 입력 받는 방법이 가장 큰 문제였다. 애초에 line으로 입력받을 때 각 줄이 배열화되어 할당되므로 배열을 처리해야 했다. 논리의 흐름은 주석으로 달아놓았다.

혹시 다른 방법의 풀이가 생각나시는 분은 댓글 부탁드립니다:)


Reference

profile
minuzai

0개의 댓글