프로그래머스 코딩테스트 연습 <두 정수 사이의 합>
🔎 <두 정수 사이의 합>
📝 답안
코딩테스트 연습을 이제 막 시작해 부끄러운 수준의 내 답안과 다른 사람들의 답안을 확인해보자.
🚩 제출한 답안
function solution(a, b) {
var answer = 0;
if (a <= b) {
answer += (a + b) * (b - a + 1) * 0.5;
} else {
answer += (a + b) * (a - b + 1) * 0.5;
}
return answer;
}
먼저 두 수를 비교하여, 두 수 사이의 모든 정수의 합을 구하게끔 하는데, 이때 두 수 모두 음수가 될 수 있다는 점에 유의해야 한다.
참고로, a
, b
사이의 모든 정수의 합은 (a + b) * (b - a) / 2
로 계산된다.
🚩 다른 사람 답안
Math.abs()
를 활용한 답안
function solution(a, b) {
var answer = 0;
return (a + b) * (Math.abs(a - b) + 1) * 0.5;
}
Math.abs()
를 활용해 a
, b
의 부호에 관계 없이 공식을 적용할 수 있다.
📌 공부할 점
등차수열의 합
등차수열의 n항 a
와 m항 b
사이 모든 수의 합은 다음과 같다.
등차수열의 n항 a
와 m항 b
사이 모든 수의 합은 다음과 같다.
즉, 두 항 사이의 개수와 두 항의 평균을 곱하면 등차수열의 두 항 사이의 모든 수의 합을 구할 수 있다.
Author And Source
이 문제에 관하여(프로그래머스 코딩테스트 연습 <두 정수 사이의 합>), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@mini_vanta/프로그래머스-코딩테스트-연습-두-정수-사이의-합저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)