프로그래머스 Level 1 - 두 정수 사이의 합 - Math.abs() & Math.min()

크롱·2023년 9월 27일
0

코딩테스트

목록 보기
16/61

일단 풀긴 풀었는데.....ㅋ

문제

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

나의 풀이

Math.abs() 절댓값

function solution(a, b) {
    let answer = 0;
    if(a===b){
        answer = a
    }else if(Math.abs(a-b)%2==0){
        answer =((a+b)*(Math.abs(a-b)/2))+((a+b)/2)
    } else{
        answer = (a+b)*Math.ceil(Math.abs(a-b)/2)
    }
    return answer;
}

다른 풀이

'등차수열의 합'

가우스가 만들어낸 풀이이다.
1부터 100까지 더한 값? 50×101하면 돼!

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

Math.min & Math.max

function adder(a, b, s = 0){
  for (var i = Math.min(a, b); i <= Math.max(a, b); i++)  
    s += i;
  return s;
}
profile
👩‍💻안녕하세요🌞

0개의 댓글