[프로그래머스 lev1/JS] 두 정수 사이의 합

woolee의 기록보관소·2022년 10월 22일
0

알고리즘 문제풀이

목록 보기
14/178

문제 출처

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

문제 요약

두 정수 a,b 사이에 속한 모든 정수의 합을 반환하기

나의 풀이

function solution(a, b) {
  let sum=0;
  if (a<b) for (let i=a; i<=b; i++) sum+=i;
  else if (a>b) for (let i=b; i<=a; i++) sum+=i;
  else if (a==b) return a;
  return sum; 
}
console.log(solution(3,5));

다른 풀이

등차수열의 합
초항==a,
공차==d,
항의 개수(길이)==n

등차수열의 합은 (초항+끝항)*항의 개수 / 2

function adder(a, b){
  //console.log((Math.abs(b-a)+1)/2);
  return (a+b)*(Math.abs(b-a)+1)/2; // (양 끝의 합 * 양 끝 합의 개수)
}
console.log(adder(3,5));
function adder(a, b, s = 0){
  for (var i = Math.min(a, b); i <= Math.max(a, b); i++) s += i;
  return s;
}
console.log(adder(3,5));

최소값과 최대값을 만들어 for 문을 순회하면서 더하기.

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;
}

참고

가우스 함수 명쾌 정리 - 최대정수함수 = 바닥함수 = floor function !== 가우스함수
가우스 기호(gauss' notation)
실수 x에 대해 x를 넘지 않는 최대 정수를 [x]라는 기호로 나타냄. 따라서 y=[x]를 최대정수함수(Greatest Integer Function)라고 함.
가우스 기호는 정수를 만들어내는 수학 도구임. 바닥함수(floor function)라고 하며 반대 의미를 가진 함수를 천장함수라고 함(ceil function).
y=[x]는 가우스 함수가 아니라 바닥함수이며, 실제 가우스함수는 좌우대칭의 종 모양 곡선이라고 한다.

알고리즘 문제 풀이 - 자주 나오는 수학 개념 총정리

수학 관련 알고리즘 문제 풀이 모음

profile
https://medium.com/@wooleejaan

0개의 댓글