알고리즘 문제풀기 03. 두 정수 사이의 합

주히 🌼·2020년 12월 21일
0

JavaScript_Algorithm

목록 보기
3/7
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의 값을 비교한 후 작은 값부터 큰 값 사이의 값들을 더해 출력하였다.

💻 M Y C O D E 💻
방법 ①

function solution(a, b) {
  let sum = 0;
  if (a === b) {
    return a;
  } else if (a > b) {
    for (let i = b; i <= a; i++) {
      sum += i;
    }
    return sum;
  } else {
    for (let j = b; j >= a; j--) {
      sum += j;
    }
    return sum;
  }
}

방법 ②

function solution(a, b) {
  let sum = 0;
  let big = a > b ? a : b;
  let small = a < b ? a : b;

  if (a === b) {
    return a;
  } else {
    for (let i = small; i <= big; i++) {
      sum += i;
    }
    return sum;
  }
}

기록하고 싶은 부분 📃

방법 2에서는 big과 small 이라는 변수에 삼항연산자를 이용해서 각각 값을 정의해주면서, for문을 한번만 돌려 코드 줄 수를 확 줄이게 되었다.

소요시간과 메모리의 차이는 크게 나지는 않았지만, 방법 2가 방법 1보다 소요시간 부분에서 조금 빠른 결과가 나타났다.

profile
하면 된다! 프론트앤드 공부 중 입니당 🙆‍♀️

0개의 댓글