
문제 설명
두 정수 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의 대소관계는 정해져있지 않습니다.
입출력 예

내가 푼 방법
fun solution(a: Int, b: Int): Long {
var answer: Long = 0
var low = a
var high = b
if (low > high) {
var temp = high
high = low
low = temp
}
for (num in low..high) {
answer += num
}
return answer
}
간단하다고 생각하고 생각나는데로 직관적으로 풀었다.
코드 첨삭
fun solution(a: Int, b: Int): Long {
// a와 b의 대소 관계를 정합니다.
val start = Math.min(a, b)
val end = Math.max(a, b)
// start부터 end까지의 정수 합을 계산합니다.
// 가우스 합 공식을 사용하여 효율적으로 계산합니다.
return (start.toLong() + end) * (end - start + 1) / 2
}
일단, 큰값 작은값 구할때 내장함수 사용해서 사용해서 훨씬 간단하다. 그리고 수학적으로 가우스 합 공식을 사용하니 간단하고 효율적이고 있어보이는 방법이다.
등차수열의 합
[EBSMath 가우스와 등차수열의 합]
19세기 최고의 수학자로 꼽히는 프리드리히 가우스는 10살 때 1부터 100까지 더하는 계산을 단번에 해냈습니다. 어린 가우스가 사용한 방법은, 1부터 하나씩 커지는 수열의 합뿐만 아니라, 일정한
www.ebsmath.co.kr
https://workshop-code.tistory.com/51
[알고리즘] 가우스의 덧셈 공식
목표 가우스 덧셈에 대해 알아보자 가우스 덧셈을 이용한 문제 풀이 가우스 덧셈 등장 배경 천재적인 수학자 독일의 가우스는 어려서부터 수학에 재능을 보였다. 가우스가 초등학교 3학년 때 수
workshop-code.tistory.com
반응형
'Dev > Algorithm' 카테고리의 다른 글
간만의 알고리즘 공부 - 9 (멀리 뛰기 | 피보나치 수열) (0) | 2024.07.06 |
---|---|
간만의 알고리즘 공부 - 8 (하샤드 수) (0) | 2024.07.06 |
간만의 알고리즘 공부 - 5 (행렬 곱셈) (0) | 2024.07.03 |
간만의 알고리즘 공부 - 4 (이진 변환 반복하기) (0) | 2024.07.03 |
간만의 알고리즘 공부 - 3 (정수제곱근 판별) (0) | 2024.06.30 |