
두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.
예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.
문제 풀이
두 정수 사이의 합을 구하기 위해서는 순회하면서 더하면 될떠 같은데 그러기 위해선 어디까지 더해야하는지가 미지수였다. 이것을 해결하기 위해 일단 더해야하는 정수의 갯수를 알아야하고, 최솟값를 알아야했다. 그 문제를 풀이한 코드가 밑에 보이는 코드이다. 총 정수의 갯수와 최솟값을 구한 것을 순회하여 배열에 넣고, 배열을 순회하여answer에 더하여 최종 값을 반환합니다.
코드
public long solution(int a, int b) {
long answer = 0;
int size = Math.abs(b - a) + 1;
long[] result = new long[size];
int start = Math.min(a, b);
for (int i = 0; i < size; i++) {
result[i] = start + i;
}
for (long j : result) {
answer += j;
}
return answer;
}