두 정수 사이의 합

Creating the dots·2021년 10월 15일
0

Algorithm

목록 보기
26/65

프로그래머스

https://programmers.co.kr/learn/courses/30/lessons/12912

나의 풀이(1)

function solution(a, b) {
    let sum = 0;
    if(a>b){
        while(a>=b){
            sum+=b;
            b++;
        }
        return sum;
    }
    else if(a<b){
        while(a<=b){
            sum+=a;
            a++
        }
        return sum;
    }
    return a;
}

나의 풀이(2)

function solution(a,b){
    const arr = [a,b];
    arr.sort((x,y)=>x-y); //오름차순 정렬
    let sum = 0;
    for(let i=arr[0];i<=arr[1];i++){
        sum+=i;
    }
    return sum;
}

다른 사람 풀이(1)

  • Math.min()Math.max()를 적절히 활용해 두 수의 크기를 비교한다.
function solution(a,b){
  let sum = 0;
  for(let i=Math.min(a,b);i<=Math.max(a,b);i++){
    sum+=i;
  }
  return sum;
}

다른 사람 풀이(2) 가우스 공식

  • 연속하는 숫자의 합을 구할때, 사용하는 가우스 공식(최댓값+최솟값)*(숫자 갯수)/2을 활용했다.
function solution(a,b){
  return (a+b)*(Math.abs(a-b)+1)/2;
}
profile
어제보다 나은 오늘을 만드는 중

0개의 댓글