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

hyocho·2022년 6월 23일
0

코딩테스트

목록 보기
24/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의 대소관계는 정해져있지 않습니다.

✍문제풀이

for 문을 사용해 a부터 b일때까지 반복해주며 더해준다.
예외로, a와b가 같을 때는 바로 a리턴해주고, a와 b의 대소관계는 없으니 절대값을 씌워준다.
절대값은 Math.abs() 메서드를 사용함.. . . 이라고 생각하다가 내가 너무 복잡하게 생각하는건가 라고 느끼게 됨..

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

✔️참고할 좋은 코드

그리고 많은 사람들이 가우스의 재림이라고 본인을 한탄하던 코드.양 끝의 합 * 양 끝의 합의 개수...

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

그리고 많은 사람들이 가우스의 재림이라고 본인을 한탄하던 코드.양 끝의 합 * 양 끝의 합의 개수...

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

삼항연산자를 이렇게 쓴다고,,?

📝TIL

  • Math.abs() : () 안의 절대값을 구해줌

문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12912

profile
기록하는 습관을 기르고 있습니다.

0개의 댓글