프로그래머스[두 정수 사이의 합]

jableee·2022년 1월 14일
0

알고리즘

목록 보기
2/6

문제 설명
두 정수 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의 대소관계는 정해져있지 않습니다.

내 답안

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

}

풀이: 
조건문을 통해 두정수가 같을 경우, 같지 않을 경우를 나누어 조건을 걸고 이후에 반복문을 통해 결과값에 더해 준다


**--참고 할만한 다른 답안--**

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

console.log( adder(3, 5) )

함수 설명
Math.min():주어진 숫자들중 가장 작은 값 반환
Math.max():주어진 숫자들중 가장 큰 값 반환

풀이 : 반복문을 통해 작은 수(min) 부터 큰수(max)사이에 속한 정수의 합을 구하는데 조건문을 따로 작성하지 않고 Math객체를 통해 값을 받아 해결한다.
두 정수가 같은 값일 경우, 반복문의 초기문, 조건문 에서 둘중 아무 같이 반환되고, 초기문과 반복문의 값이 같기때문에 결과 값에 1번 들어가고 반복문이 종료된다.
profile
개발 공부

0개의 댓글