티스토리 뷰

1Day 1Algorithm

[DAY 21] 두 정수 사이의 합

walk_through_me 2019. 10. 22. 00:17

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

 

 

코딩테스트 연습 - 두 정수 사이의 합 | 프로그래머스

두 정수 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의 대소관계는 정해져있지 않습니다. 입출력 예 a b return 3 5 12 3 3 3 5 3

programmers.co.kr

 

풀이

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

1. a보다 b가 작은 경우가 있을 수 있어서 먼저 a랑 b를 각각 from, to에 넣어주고, 만약 가 더 크면 b를 from에, a를 to에 넣어줌

2. for 문을 돌면서 from부터 to까지 1씩 늘려가며 더해줌

3. 답을 리턴함

 

 

다른 사람의 풀이

function adder(a, b){
    var result = 0
    return (a+b)*(Math.abs(b-a)+1)/2;
}

Aㅏ......가우스...!

 

가우스 등차수열의 합
 S = ( a + b ) * n / 2
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함