문제
n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다.
출력
1부터 n까지 합을 출력한다.
예제 입력 1
3
예제 출력 1
6
const fs = require('fs');
const input = fs.readFileSync('dev/stdin').toString();
const n = +input;
let sum = 0;
for (i = 0 ; i < n+1 ; i++) {
sum += i;
}
console.log(sum);
const fs = require('fs');
const n = fs.readFileSync('dev/stdin').toString()*1;
let array = [n];
for(i=0;i<n;i++){ // 그냥 0부터 더해도 문제 없을 것 같아서 이렇게함.
array.push(i);
}
const sum = array.reduce((a,b)=>a+b);
console.log(sum);
5개월 전에는 이렇게 풀었었다. 배열에 1부터 입력받은 수를 모두 넣어두고 배열의 reduce() 메소드를 사용해서 한번에 더했다. 매번 배열에 추가하는 것 보다는 간단하게 연산을 해서 for문 안에서 가산 처리를 하고 마지막에 출력하는 것이 메모리를 조금 덜 잡아먹는다는 것을 알게 되었다. 더 나은 풀이를 한 것 같다.