Giant Danio Fish
본문 바로가기
알고리즘

프로그래머스 1단계 : 두 정수 사이의 합

by 코딩왕자 2022. 11. 6.

프로그래머스 1단계 : 두 정수 사이의 합

코딩테스트 연습 > 연습문제 > 두 정수 사이의 합


✔ 문제 설명

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

✔ 입출력 예

x n answer
a b return
3 5 12
3 3 3
5 3 12

✔ 문제풀이

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

✔ 설명

a와 b의 대소관계가 정해져있지 않다고 되어있으니, a가 클 때와 b가클 때 조건을 다르게 설정해 for문을 돌려줍니다. 참 쉽죠?

✔ 다른사람의 풀이

function strToInt(str){
    return (a+b)*(Math.abs(b-a)+1)/2;
}

가우스 공식(양 끝의 합 * 양 끝의 합의 개수)을 활용해서 풀었군요. 수학도 잘해야 알고리즘을 쉽게 푼다.

댓글


광고 준비중입니다