BOJ 15552-빠른 A+B

Goody·2021년 1월 10일
0

알고리즘

목록 보기
4/122

문제

대부분의 알고리즘 문제는 시간 제한이 있다. 이를 여러 줄을 입력받아 합을 출력할 때 시간초과가 나지 않게끔 알고리즘을 짜라.

입력

첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다.

출력

각 테스트케이스마다 A+B를 한 줄에 하나씩 순서대로 출력한다.

예제 입력

5
1 1
12 34
5 500
40 60
1000 1000

예제 출력

2
46
505
100
2000

풀이 방법

  • JavaScript의 console.log는 연산 시간이 오래 걸린다.
  • 때문에 for문을 돌며 console.log 명령을 여러 번 하는 것은 좋지 않다.
  • 따라서 for문을 돌면서 하나의 String 변수에 정답들을 몰아 넣는다.
  • 한 번의 console.log 명령으로 여러 줄의 답을 출력한다.

코드

const fs = require('fs');
const input = fs.readFileSync('input.txt').toString().split('\n');

const count = parseInt(input[0]);
const numbers = [];
let answer = '';

for(let i = 1; i < input.length; i++) {
    if(input[i] !== '') {
        numbers.push(input[i].split(' '));
    }
}

for(let i = 0; i < count; i++) {
    answer += Number(numbers[i][0]) + Number(numbers[i][1]) +`\n`;
}

console.log(answer);

0개의 댓글