본문 바로가기

프로그래머스 문제/Level 1

[프로그래머스] 두 정수 사이의 합 - 자바스크립트

 

문제 설명

 

문제 풀이

function solution(a, b) {
  const number = [];
  for(let i = -10000000; i <= 10000000; ++i) {
    number.push(i);
  }
  if(a <= b) {
    const result = number.splice(a + 10000000, b - a + 1);
    return result.reduce((prev, curr) => {
      return prev + curr;
    }, 0);
  } else {
    const result = number.splice(b + 10000000, a - b + 1);
    return result.reduce((prev, curr) => {
      return prev + curr;
    }, 0);
  }
}

  이번 문제는 하드코딩처럼 짜 봤다. 제한 조건은 딱히 상관없는 것이었지만 그것들을 의식한다는 느낌으로 짜 봤다. 사실 연습문제를 거의 처음 풀어봤을 때 코딩한 것이라 하드코딩이 되었다. 또한 reduce메서드를 써보고 싶었다.

 

  아래 코드는 다른 방식의 풀이 법이다. 훨씬 코드도 간단하고 보기 쉬운 것같다.

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

 

실행 결과

 

코드 채점하고 제출