두 정수 a와 b가 주어진다.
a와 b 사이에 있는 모든 정수(두 수 포함)의 합을 구하여 반환하는 문제
a와b가 같으면 그대로 반환한다.
if (a == b) return a;
만약 a가 b보다 크다면 두 값을 서로 바꿔( swap) 작은 값부터 큰 값까지 반복문을 사용할 수 있도록 한다.
if (a > b) {
int temp = a;
a = b;
b = temp;
}
그 후 for문을 이용하여 a부터 b까지 모든 수를 더한다.
합이 커질 수 있으므로 결과를 저장하는 변수는 long형을 사용한다.
answer를 long형으로 선언한다.a와 b가 같으면 바로 반환한다.a가 b보다 크면 두 값을 서로 교환한다.a부터 b까지 반복하면서 모든 수를 더한다.class Solution {
public long solution(int a, int b) {
long answer = 0;
if (a == b) return a;
// a가 b보다 큰 경우에는 두 값을 서로 바꿔서 항상 a <= b를 만족하도록 함
if (a > b) {
int temp = a;
a = b;
b = temp;
}
for (int i = a; i <= b; i++) {
answer += i;
}
return answer;
}
}