백준 8393번을 풀어보았다.
let input = require('fs').readFileSync('/dev/stdin').toString().split(' ')
input = Number(input)
let sum = 0
for (let i = 1; i <= input; i++) {
sum += i
}
반복문을 사용하는 아주 간단한 문제였다.
이 문제가 반복문으로 분류되어 있는 걸 보면 이 풀이가 더 의도에 부합하는 풀이 같지만
수학적 지식을 사용하면 아래와 같은 풀이도 가능하다.
let input = require('fs').readFileSync('/dev/stdin').toString().split(' ')
input = Number(input)
console.log(input*(input+1)/2)
1부터 n까지의 합은 n*(n+1)/2와 같다는 사실을 이용하였다.
💫 이 문제를 통해 배운 것
연속된 숫자의 합은 반복문을 통해서도 구할 수 있지만 n*(n+1)/2을 통해서도 구할 수 있다.