본문 바로가기

Java Script/알고리즘 풀이

[알고리즘] 0822

문제 - Codewars_Grasshopper - Summation (8kyu)

Write a program that finds the summation of every number from 1 to num.
The number will always be a positive integer greater than 0.
For example(Input -> Output):
2 -> 3 (1 + 2)
8 -> 36 (1 + 2 + 3 + 4 + 5 + 6 + 7 + 8)

문제 풀이

var summation = function (num) {
  let result = 0;
  if(num > 0){
    for(let i = 1 ; i <= num ; i++){
      result += i;
    }
  }
  return result;
}
  1. num은 0보다 항상 커야한다고 조건이 작성되었기 때문에 if 구문을 이용해서 num이 0일 경우에 for 구문이 작동하도록 코드 작성
  2. i는 1으로 선언하고, i가 (num)에 들어가는 변수보다 작거나 같아지면 반복문을 중단 후 i를 증감하도록 코드 작성

코드 비교

function summation(num) {
  return num * (num + 1) / 2
}
const summation = n => n * (n + 1) / 2;
  1. 수학 공식을 이용해서 누적합을 계산한 코드

'Java Script > 알고리즘 풀이' 카테고리의 다른 글

[알고리즘] 0824  (0) 2023.08.24
[알고리즘] 0823  (0) 2023.08.23
[알고리즘] 0821  (0) 2023.08.21
[알고리즘] 0820  (0) 2023.08.20
[알고리즘] 0817  (0) 2023.08.17