JAVA SCRIPT/코딩테스트

프로그래머스 :: 두 정수 사이의 합 (JS)

ㅈㅣㄴ 2023. 12. 5. 16:16
프로그래머스 :: 두 정수 사이의 합 (JS)

 

문제 설명
두 정수 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 result = 0;
  let start = ((a-b) > 0) ? b : a;
  let stop = ((a-b) > 0) ? a : b;
  
  for (let i = start; i <= stop; i++) {
    result += i;
  }
  return result;
}​

 

  • for 문을 이용하였다.
  • ? 연산자 를 활용하여 for문의 start 값과 stop 값을 지정해주었다.
  • 삼항 조건 연산자
  • 조건식 ? 조건식이 true 일 때 반환할 값 : 조건식이 false 일 때 반환할 값

 

다른 사람의 풀이
function adder(a, b, s = 0){
  for (var i = Math.min(a, b); i <= Math.max(a, b); i++) s += i;
  return s;
}

 

  • Math.min, Math.max 함수를 이용하면 따로 start 값과 stop 값을 지정하지 않아도 되어서 기발하다고 생각했다.
  • Math.min(value1, value2 ...), Math.max 처럼 사용.
  • 그리고 함수 매개변수 부분에 s 를 선언하여 함수 내부 코드를 줄인 것도 멋있다고 생각했다.