본문 바로가기

Coding Test/Programmers

[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 99 - 두 정수 사이의 합)

728x90

 

# 문제

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



# 답안

// 1. 입력: 정수 a,b
// 2. 출력: a + 사이 + b

// a부터 b까지 더해야함
// sum = 0
// if (a<b)면, 반복문 (let i=a; i<=b; i++)
// else if (b>a)면, 반복문 (let i=b; i<=b; i++)
// else return a


// 1번 방법 (조건문으로 분기처리)
function solution(a, b) {
  let sum = 0;
  if (a < b) {
    for (let i = a; i <= b; i++) {
      sum += i;
    }
    return sum;
  } else if (b < a) {
    for (let i = b; i <= a; i++) {
      sum += i;
    }
    return sum;
  } else {
    return a;
  }
}


// 2번 방법 (최대, 최소를 미리 설정하고 반복문 돌리기)
function solution(a, b) {
  if (a === b) return a;

  let start = Math.min(a, b);
  let end = Math.max(a, b);
  let sum = 0;
  for (let i = start; i <= end; i++) {
    sum += i;
  }
  return sum;
}
728x90