본문 바로가기
알고리즘

[Programmars] 두 정수 사이의 합 (JavaScript)

by 프린벼르 2022. 2. 1.

두 정수 사이의 합 문제

1. 나의 생각 흐름

a와 b사이의 수를 더해야하니까 for문을 사용해야겠다고 먼저 생각했다. 그 안의 숫자를 돌면서 더해주면 되니까 for문밖에는 떠오른게 없었다. 그래서 아래와 같은 코드를 짜게 되었다.

2. 내 코드

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

3. 다른 사람들의 코드

function adder(a, b){
    let result = 0
    //함수를 완성하세요
    return (a+b)*(Math.abs(b-a)+1)/2;
}

가우스의 재림이다. 이런 생각은 어떻게 한걸까..! 반성하쟈..!!

function adder(a, b){
    var result = (a<b)?a:b;
    while(a!=b){
      result += (a<b)?++a:++b;
    }    
    return result;
}

삼항 연산자를 이용한 풀이법이다. 이렇게 쓰다니.. 정말 천재들이 너무 많은 것 같다.. 나도 이런 코드를 짜는 날이 오기를!

4. 결론

for문만 사용할게 아니라 while문도 사용해보고 삼항연산자도 써보는 등 다양한 생각을 키워나가야 할 것 같다.

댓글