2022.08.22
https://www.acmicpc.net/problem/15552
15552 빠른 A+B
문제
- 본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다.
- 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다.
- 각 테스트케이스마다 A+B를 한 줄에 하나씩 순서대로 출력한다.
풀이
const fs = require('fs');
const inputData = fs.readFileSync(0,'utf8').toString().split('\n')
// const inputData = ['5','1 1','12 34','5 500','40 60','1000 1000'];
let caseN = parseInt(inputData[0]);
let result = ''; // 빈 문자열을 줌
for(let i = 1 ; i < caseN +1 ; i++){
let numbers = inputData[i].split(' ');
result += parseInt(numbers[0])+parseInt(numbers[1])+'\n' // 하나의 결과값이 나오면 엔터값을 주고 그것을 누적한다.
// 만약 ','으로 한다면 2,46,505,100,2000, 이 출력된다.
}
console.log(result)
- 10950번 A+B-3 풀듯이 푸니 시간 초과가 나왔습니다. 한 줄씩 출력하는 것 보다 한 번에 출력하는 것이 더 빠르다라는 것을 알게 되었습니다.
추가
- 주어진 값 다 더하기
const inputData = ['5','1 1','12 34','5 500','40 60','1000 1000'];
let caseN = parseInt(inputData[0]);
let result = 0; // result값을 0이라 명시하고 for문을 통해 값이 누적되게 한다.
for(let i = 1 ; i < caseN +1 ; i++){
let numbers = inputData[i].split(' ');
result += parseInt(numbers[0])+parseInt(numbers[1])
}
console.log(result) // 주어진 값이 다 더한 값이 나온다.
'algorithm > 백준' 카테고리의 다른 글
[JS] 11022번 A+N -8 (0) | 2022.08.22 |
---|---|
[JS] 11021 A+B-7 (0) | 2022.08.22 |
[JS] 25304 영수증 (0) | 2022.08.20 |
[JS] 8393 합 (0) | 2022.08.20 |
[JS] 10950 A+B-3 (0) | 2022.08.20 |
댓글