프로그래머스 | 두 정수 사이의 합

imzzuu·2022년 4월 30일
0

두 정수 사이의 합


문제 설명

두 정수 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의 대소관계는 정해져있지 않습니다.

입출력 예

abreturn
3512
333
5312

내 풀이


function solution(a, b) {
    let answer = 0
    if (a < b){
       for (let i = a; i<=b; i++) answer += i
    } else if (a>b){
      for (let i = b; i<=a; i++) answer += i 
    } else {
        return a
    }
    return answer
}
  1. 만약 a < b 이면, a부터 b 까지 1씩 늘려가며 for문을 돌고, 그 수를 answer에 더한다.
  2. 만약 a>b 면, b 부터 a 까지 1씩 늘려가며 for문을 돌고, 그 수를 answer에 더한다.
  3. 그도 아니면 (같으면) a를 return 한다.

어려웠던 점 및 느낀 점


생각을 코드로 그대로 작성해서 비교적 금방 풀었다.
하지만 다른 사람들의 코드를 보니 나의 코드 넘나 쉽고 지저분한 것....ㅎㅎ

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

이 코드가 내가 작성한 것과 접근 방식은 같은데 훨씬 간결하고 가독성도 좋은 것 같다!
내 풀이의 경우엔 중복되는 코드가 많고, 줄도 많아서 이걸 보완해주는 본보기 코드인 것 같다!

0개의 댓글