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

이명진·2022년 4월 1일
0

코드카타

목록 보기
16/69

두정수 사이의 합

두가지 정수가 주어진다. 하지만 어느것이 큰지는 모른다
그 사이의 값들을 모두 더한 값을 리턴하면 되는 문제이다

생각보다 쉽다고 생각하고 for문과 if문을 사용하여 풀었다
for문을 계속 사용하니 조금 질리기도 한다

원래 for문을 이렇게 많이 사용해야 하는 것일까? 궁금하기도 했다

내가 푼 로직이다

function solution(a,b) {
let bigger = a;
let small = b;
let answer = 0;
  if(a<b){
  bigger = b;
  small = a;
}
  for(let i = small; i<bigger+1;i++){
    answer += i
  }
  return answer
}

단순히 두값의 대소비교를 하고 사이의 값을 for문을 돌려서 더하는 것

다른 사람의 풀이를 봤다 역시 강호들은 다르다
가우스 공식을 이용해서 풀었다. 문과였던 나는 가우스 공식? 생각나지도 않은 공식이어서
검색을 통해 찾아 보게 되었다 가우스 공식은 위처럼 사이의 더한값들을 구하기 위해서는
사이의 개수 * 사이의 값중 처음과 끝을 더한수 /2 로 풀면 되었다

다른 강호의 풀이이다.

function adder(a, b){
    var result = 0


    return (a+b)*(Math.abs(b-a)+1)/2;
}

여기서 또 새로운것을 배워간다 가우스 공식 그리고 Math.abs()

Math.abs함수는 절댓값을 구하는 함수이다.

처음과 끝 값을 더하고 사이의 개수를 더하고 2를 나눈 값

대단하다는 생각이 들었다.

오늘도 많이 배워간다

profile
프론트엔드 개발자 초보에서 고수까지!

0개의 댓글