두 정수 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의 대소관계는 정해져있지 않습니다.
연속된 수의 합이니까 등차수열로 해결할수 있나..?
class Solution {
public long solution(int a, int b) {
long answer = 0;
//int sum = ((long) n * (1 + n )) / 2; 등차수열의 합
if (a > b){
for(int i = b ; i <= a ; i ++){
answer = ((long) b * (1 + b )) / 2;
}
} else if (a < b){
for(int i = a ; i <= b ; i ++){
answer = ((long) a * (1 + a )) / 2;
}
} else if (a == b){
answer = a;
}
return answer;
}
}
으음.. 근데 등차수열은 1부터 n까지의 경우의 합을 나타내는건데
1부터 시작이 아니라면..
class Solution {
public long solution(int a, int b) {
long answer = 0;
if (a > b){
for(int i = b ; i <= a ; i ++){
answer += i;
}
} else if (a < b){
for(int i = a ; i <= b ; i ++){
answer += i ;
}
} else if (a == b){
answer = a;
}
return answer;
}
}
아 너무 복잡하게 생각했다 그냥 하나씩 answer에 값을 더해주고 넘어가면 되는건데..🥲