언젠가는 펼쳐 볼 아카이브

15552번 - 빠른 A+B 본문

IT/Baekjoon Oline Judge

15552번 - 빠른 A+B

개발자희망생고롸파덕 2023. 8. 16. 17:47

사용언어 : javascript  - node.js

 

# 첫번째 제출 코드

const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(filePath).toString().split('\n');

solution(input);

function solution(input) {
  const testCase = +input[0];

  for (let i = 1; i <= testCase; ++i) {
    const tempValue = input[i].split(' ').map((item) => +item);

    console.log(tempValue[0] + tempValue[1]);
  }
}

>> 결과 : 시간 초과

 

 

map으로 한번에 바꿔서 그런가?

 

# 두번째 제출 코드

const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(filePath).toString().split('\n');

const testCase = +input[0];

for (let i = 1; i <= testCase; ++i) {
  const tempValue = input[i].split(' ');

  console.log(Number(tempValue[0]) + Number(tempValue[1]));
}

>> 결과 : 시간 초과

 

아니 왜...! 하고 다시 문제를 읽어봤다.

 

"입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간 초과가 날 수 있다"

아.. console.log 를 여러 번 불러서 그런거 같다.

 

# 최종 제출 코드

let input = require('fs').readFileSync('/dev/stdin').toString().split('\n');

let max = Number(input[0]);
let answer = '';

for (let i = 1; i <= max; i++) {
    let num = input[i].split(' ');
    answer += Number(num[0]) + Number(num[1]) + '\n';
}

console.log(answer);

 

'IT > Baekjoon Oline Judge' 카테고리의 다른 글

[BOJ] 11022번 - A+B - 8  (0) 2023.08.16
[BOJ] 11201번 - A+B - 7  (0) 2023.08.16
[BOJ] 25314번 - 코딩은 체육과목 입니다  (0) 2023.08.16
[BOJ] 25304번 - 영수증  (0) 2023.08.16
[BOJ] 10950번 - A+B - 3  (0) 2023.08.16