TIL 57 | 자바스크립트로 알고리즘 (백준 15552 JS) - 빠른 입출력

Gom·2021년 4월 16일
0

Algorithm

목록 보기
29/48
post-thumbnail
post-custom-banner

자바스크립트로 알고리즘 문제풀이


문제

본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다.
/ ---생략--- /
또한 입력과 출력 스트림은 별개이므로, 테스트케이스를 전부 입력받아서 저장한 뒤 전부 출력할 필요는 없다. 테스트케이스를 하나 받은 뒤 하나 출력해도 된다.

입력

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

접근

BOJ 작동 원리
marco2520332님의 답변
매번 console.log 출력 시 시간초과,
하나의 문자열에 A+B와 개행문자를 저장하여 마지막에 한 번 출력함.


정답코드

const readline = require('readline');
const rl = readline.createInterface({
    input:process.stdin,
    output:process.stdout
});
let answer = '';
rl.on('line', line=>{
    const input = line.split(' ');

    if(input.length===2){
        const A = Number(input[0]);
        const B = Number(input[1]);
        answer += A+B + '\n';
    }
}).on('close', ()=>{
    console.log(answer);
    process.exit();
})
profile
안 되는 이유보다 가능한 방법을 찾을래요
post-custom-banner

0개의 댓글