알고리즘/JavaScript

JavaScript로 프로그래머스 풀기. 두 정수 사이의 합.

홍구리당당 2023. 10. 16. 22:40
  • 프로그래머스 1레벨 > 코딩테스트 연습 > 연습문제 > 두 정수 사이의 합.

내 풀이)
간단한 문제이다.

우선 js에서 Number 타입은 -9,007,199,254,740,991부터 9,007,199,254,740,991 범위 내라고 한다... 정말 어마무시한 값이다. java나 c에선 고작 int 형으로 4바이트밖에 쓰지 못하는데, js에선 거의 1경에 달하는 숫자까지 쓸 수 있으니 말이다.

이보다 더 큰 수는 Number 타입의 값인 Infinity, -Infinity로 표현되기도 하고,

ES2020년부터 지원되는 bigInt 타입을 써서 더 큰 수를 나타낼 수 있다.

이 문제에선 최악의 경우 고작(?) -10,000,000 ~ 10,000,000 사이 합을 구하면 되므로 그냥 for 문을 사용하자.

참고로 js 의 1초당 연산 횟수는 약 1억번이라 한다.

내 코드)

function solution(a, b) {
  if (a === b) return a;

  let answer = 0;
  for (let i = Math.min(a, b); i <= Math.max(a, b); i++) {
    answer += i;
  }
  return answer;
}