두 정수 사이의 합(Javascript)

·2022년 9월 16일
0
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) {
    sum = (a + b) * (Math.abs(a - b) + 1)/ 2
    return sum;
}

연속적인 정수의 합은 (a + b) * 갯수 / 2 로 구해주면 된다. 갯수는 a-b+1 로 구해주면 되는데, a와 b 중 어느 것이 클지 모르므로 Math.abs() 함수를 사용해서 절대값으로 바꾼 다음 +1을 해줬다.

참고할 풀이

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

내 풀이가 제일 쉽긴 한데 반복문으로도 풀 수 있어서 참고하려고 가져왔다. 초기값 i를 a와 b 중 작은 것으로 설정, a와 b중 큰 것까지 반복하라고 조건을 줬다. 그리고 i를 최종 결과 s에 더하기를 반복해준다.

profile
전 이것도 몰라요

0개의 댓글

관련 채용 정보