[프로그래머스] Lv 1. 두 정수 사이의 합

morecodeplease·2024년 3월 14일
0

프로그래머스

목록 보기
13/23
post-thumbnail

🌭 문제 설명

  • 두 정수 a, b가 주어졌을 때 ab 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.
  • 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.

🍗 제한 사항

  • ab가 같은 경우는 둘 중 아무 수나 리턴하세요.
  • ab는 -10,000,000 이상 10,000,000 이하인 정수입니다.
  • ab의 대소관계는 정해져있지 않습니다.

🎁 입출력 예시


😎 나의 풀이

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

console.log(solution(11)); // 출력 : false
console.log(solution(12)); // 출력 : true
  1. return할 변수 초기화
  2. 두 정수중 작은 값부터 가장큰 값까지 반복문 돌아서 answer에 추가해준다.
  3. 정수사이의 값들을 answer에 더해준다.
  4. answerreturn한다.

🧵 다른 풀이

function adder(a, b){
    let result = 0
    return (a+b) * (Math.abs(a-b)+1) / 2;
}
  1. result 변수 초기화
  2. a와 b를 더하고 a-b한 값에 절댓값을 씌워서 1을 더해서 2로 나눈다. (가우스 공식)
  3. 처음 숫자와 마지막 숫자를 더한 합 * 더할 숫자의 개수 총합을 2로 나눈다.

가우스 공식을 이 문제에 대입하다니,, 본김에 오랜만에 검색해봤는데 어렸을 때 배웠던 기억이 새록새록,,😅 난 상상도못함

profile
Everyday's a lesson

0개의 댓글