[Javascript] 프로그래머스 - 두 정수 사이의 합

Isabel·2022년 3월 11일
0

알고리즘 문제풀이

목록 보기
3/36

문제 설명

두 정수 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) {
  var answer = 0;
  //3가지 경우의 수로 나눠서 if문을 구성하였다.
  if (a > b){
    for(let i = 0; i <= a-b; i++){
       answer += b+i;
    }
  } 
  else if (a == b){
    answer = a;
  } 
  else if (a < b){
    for(let j = 0; j <= b-a; j++){
      answer += a+j;
    }
  }
    return answer;
}

무식하게도 풀었다. 뭐든지 if문으로 퉁치려는 습관을 버려야할 듯...
아직은 사람 수학문제 풀 듯이 푸는 느낌이 있다.

다른 사람들의 해답도 찾아보았다.

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

최소값과 최대값 변수를 만들어 식을 하나만 세울 수도 있었다. 대단해...
간단화 해야한다. 간단화

개발자는 귀찮아 해야돼!
-서울대 전기정보공학부 여자

0개의 댓글