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

백승연·2024년 1월 12일
0

프로그래머스 - Lv. 1

목록 보기
13/31
post-thumbnail

🗒️ 문제

두 정수 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의 대소관계는 정해져있지 않습니다.

입출력 예

abreturn
3512
333
5312

🖋️ 나의 풀이

function solution(a, b) {
    let sum = 0;

    for (let i = a; i <= b; i++) {
        sum += i;
    }

    if (a > b) {
        for (let j = b; j <= a; j++) {
            sum += j;
        }
    }
    return sum;
}

💡 다른 사람들의 풀이

댓글중에 가우스의 재림 ㅜㅜㅋㅋㅋㅋㅋㅋㅋ
수열을 이용할 생각은 못했는데 이래서 수학을 잘 하면 좀 편하다고 하는가보다

양 끝의 합 * 양 끝의 합의 개수

# 1

// 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다.
// 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 누르세요. 단, [코드 초기화] 버튼을 누르면 작성 중인 코드는 사라집니다.
function adder(a, b){
    var result = 0
    //함수를 완성하세요
    return (a+b) * (Math.abs(a-b)+1) / 2;
}


// 아래는 테스트로 출력해 보기 위한 코드입니다.
console.log( adder(3, 5) )

# 2

// 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다.
// 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 누르세요. 단, [코드 초기화] 버튼을 누르면 작성 중인 코드는 사라집니다.
function adder(a, b, s = 0){
  for (var i = Math.min(a, b); i <= Math.max(a, b); i++) s += i;
  return s;
}


// 아래는 테스트로 출력해 보기 위한 코드입니다.
console.log( adder(3, 5) )



📝 모르는 내용 찾아보기

profile
공부하는 벨로그

0개의 댓글