[Level1] 두 정수 사이의 합

문제

문제 설명
두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.
예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.

제한 조건

  • a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.
  • a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다.
  • a와 b의 대소관계는 정해져있지 않습니다.


    입출력 예
abreturn
3512
333
5312

문제 풀이

  1. a > b 인 경우
  2. a < b 인 경우
  3. a === b 인 경우

이 세가지 경우로 나눠서 생각하면 간단하게 풀수있다.
복잡하게 생각하기 싫어서 세가지 경우를 if else if문으로 각각의 경우를 나눠서 계산했다.

이 풀이 방법도 맞지만 좀 더 깔끔한 방법을 찾아보니 Math.min(a,b)Math.max(a,b)를 사용하여 두 수의 크기를 비교하여 간단하게 문제를 푸는 방법도 존재했다.

정답 코드 (내 풀이)

function solution(a, b) {
    let answer = 0;
    if(a===b){
        answer = a;
    }else if(a>b){
        for(var i=b; i<=a; i++){
            answer += i;
        }
    }else if(a<b){
        for(var i=a; i<=b; i++){
            answer += i;
        }
    }
    return answer;
}

정답 코드 (깔끔한 풀이)

function solution(a, b) {
    let answer = 0;
  	for (var i = Math.min(a, b); i <= Math.max(a, b); i++)
      		answer += i;
    return answer;
}


귀찮은거 세상에서 제일 싫어하면서.. 왜 코딩할땐 귀찮은 방법만 골라잡는가..🥺

좋은 웹페이지 즐겨찾기