[프로그래머스/Javascript] 4. 짝수와 홀수

현수·2022년 1월 15일
post-thumbnail

문제설명

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


제한조건

  • ab가 같은 경우는 둘 중 아무 수나 리턴하세요.
  • ab는 -10,000,000 이상 10,000,000 이하인 정수입니다.
  • ab의 대소관계는 정해져있지 않습니다.

입출력예시

abreturn
3512
333
5312

풀이

function solution(a, b) {
    var answer = 0;
    let big
    let small
    if( a >= b){
        big = a
        small = b
    } else{
        big = b
        small = a  // a와 b간에 크기의 우위를 정리
    }
    for(let i = small; i <= big; i++){ // 반복문으로 총합
        answer += i
    }
    
    return answer;
}

설명

단순한 반복문 문제이지만 a, b 중 어떤 것이 큰 값인지 정해져있지 않아 정리하고 반복문을 돌렸다.


다른 사람의 풀이

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

이제는 가물가물했던 초등학교 때 배운 수학공식을 기억 못한 것도,
크기 비교를 .abs()로 정리한 것도, 내 코드가 한심해졌다.. ㅋㅋ

profile
언젠간 되겠지!

0개의 댓글