[알고리즘] 프로그래머스 Javascript - 두 정수 사이의 합

HJ·2022년 1월 15일
0

JavaScript

목록 보기
8/45

문제

  • 두 정수 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

문제 풀이

function solution(a, b) {
    var answer = 0;
    if(a>=b){ // a가 b보다 클 경우(a, b가 같을 경우는 둘 중 아무 수나 리턴)
        for(let i=b; i<=a; i++){ // b에서 a까지 더하기
            answer = answer+=i;
        }
    }else if(a<b) { //b가 a보다 클 경우
        for(let i=a; a<=b; i++){ // a에서 b까지 더하기
            answer = answer+=i;
        }
    }
    return answer;
}

이 문제를 풀기 위해서는 a와 b의 대소 관계가 정해져 있지 않다는 조건에 따라 a가 클 때와 아닐 때로 나눠야 한다.
if문 내의 for문은 안에서 a,b 중 큰 값에 따라 설정해준다.

다른 풀이

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

Math.min(), Math.max() 메서드를 이용해 두 수의 최소와 최대값을 찾아 최소값부터 최대값을 더하는 방법으로 해결한 방법이다.
이렇게 또 다른 메서드를 알게 되네.. 신기하다.

0개의 댓글