공부/코딩테스트

Q. 두 정수 사이의 합

뀨뿌뀨뿌 2023. 6. 16. 11:54

두 정수 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) {
  let num = 0;
  for (let i = Math.min(a, b); i <= Math.max(a, b); i++) {
    num += i;
  }
  return num;
}

😊 문제풀이 답안 OR 다른사람들 답안

function adder(a, b){
    var result = 0
    return (a+b) * (Math.abs(a-b)+1) / 2;
}

// 
function solution(a, b) {
    var answer = 0;
    function gaussSum(sum) {
        return (sum + 1) * (sum / 2)  
    } 
    if(a > b){
        answer = gaussSum(a) - gaussSum(b-1)
    }else if(a < b){
        answer = gaussSum(b) - gaussSum(a-1)
    }else {
        answer = a
    }
    return answer
}

'공부 > 코딩테스트' 카테고리의 다른 글

Q. 없는 숫자 더하기  (1) 2023.06.16
Q. 문자열을 정수로 바꾸기  (0) 2023.06.16
Q. 가운데 글자 가져오기  (0) 2023.06.16
Q. 짝수와 홀수  (0) 2023.06.16
Q. 직사각형 별찍기  (0) 2023.06.16