문제: 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.
예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.
a부터 b까지 반복하면서 전부 더하기!
class Solution {
public long solution(int a, int b) {
long answer = 0;
int start = Math.min(a, b); // 작은 값
int end = Math.max(a, b); // 큰 값
for (int i = start; i <= end; i++) {
answer += i;
}
return answer;
}
}
작은 값과 큰 값 구하기
int start = Math.min(a, b); // 시작점
int end = Math.max(a, b); // 끝점
그리고 start부터 end까지 하나씩 증가하면서 반복
for (int i = start; i <= end; i++)
현재 숫자 i를 answer에 더함
answer += i;
수학 공식으로 풀려면?
class Solution {
public long solution(int a, int b) {
long start = Math.min(a, b);
long end = Math.max(a, b);
return (start + end) * (end - start + 1) / 2;
}
}