본문 바로가기
Algorithm/Baekjoon

백준 8393번

by minhi 2024. 10. 4.

백준 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을 통해서도 구할 수 있다.

'Algorithm > Baekjoon' 카테고리의 다른 글

테스트 케이스의 개수를 입력받는 유형  (2) 2024.10.06
백준 25314번  (0) 2024.10.05
백준 10950번  (0) 2024.10.04
시간 관련 유형  (0) 2024.10.03
백준 2480번  (0) 2024.10.02