알고리즘-2021/04/01

sanghun Lee·2021년 4월 1일
0

알고리즘

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

입출력 예

a	b	return
3	5	12
3	3	3
5	3	12

풀이

function solution(a, b) {
    let answer = 0;
    if(a === b) {
      return a 
    }
    let start = a > b ? b : a;
    let end = a > b ? a : b;

    for(let i = start; i <= end; i ++){
      answer += i;
    }
  
    return answer;
}

위와 같이 반복문으로 푸는 방법도 있고 ..
아래와 같이 중학생때인가 배웠던 등차수열 합 공식을 써도 괜찮을 것 같다.

풀이2

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

//n(항갯수) * (각 끝 수 ) / 2
profile
알고리즘 풀이를 담은 블로그입니다.

0개의 댓글