ALGORITHM/BOJ (Node.js)
[백준] 11720번 - 숫자의 합 (node.js)
thisisyjin
2022. 7. 7. 14:58
JavaScript
- 문자열 (2)
문제
N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
출력
입력으로 주어진 숫자 N개의 합을 출력한다.
예제
입력
1
1
출력
1
입력
5
54321
출력
15
내 코드
let input = require('fs').readFileSync('/dev/stdin').toString().split('\n');
let T = Number(input[0]);
let number = input[1].split('').map(x => Number(x));
let sum = 0;
for(let i=0; i<T; i++) {
sum += number[i];
}
console.log(sum);
map메서드로 각 배열의 요소를 숫자로 변환한 후, for문을 통해 sum을 구한다.
실행 결과
128ms / 9592KB
다른 방법
const input = require('fs').readFileSync('/dev/stdin').toString().split('\n');
const T = Number(input[0]);
const number = input[1].split('');
const sum = number.reduce((pre, cur) => Number(pre) + Number(cur));
console.log(sum);
(놀랍게도!) 가장 성능이 좋은 것은 for loop를 돌리는 것이였다.
-> for...of
를 사용한 코드가 가장 성능이 좋았다. 물론 큰 차이는 없었다.