· 문제 설명
두 정수 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의 대소관계는 정해져있지 않습니다.
· 입출력 예
a | b | return |
3 | 5 | 12 |
3 | 3 | 3 |
5 | 3 | 12 |
· Thinking 1
포문으로 그냥..
for (int i = a; i <= b; i++) {
answer += a;
}
엥 ?
a = 3, b = 5
answer = 0
i = 3
0 += 3 -> 3
i = 4
3 += 4 -> 7
i = 5
7 += 5 -> 12
아냐 ?
아이고 ..! answer += a 가 아니라 answer += i임;
· 완성 코드
class Solution {
public long solution(int a, int b) {
long answer = 0;
int min = (a < b) ? a : b;
int max = (a > b) ? a : b;
if (a == b) {
answer = a;
} else {
for (int i = min; i <= max; i++) {
answer += i;
}
}
return answer;
}
}
· 문제 출처
https://programmers.co.kr/learn/courses/30/lessons/12912
'Algorithm > Programmers' 카테고리의 다른 글
문자열 내 마음대로 정렬하기 (0) | 2019.05.31 |
---|---|
문자열 내 p와 y의 개수 (0) | 2019.05.31 |
나누어 떨어지는 숫자 배열 (0) | 2019.05.31 |
같은 숫자는 싫어 (0) | 2019.05.31 |
x만큼 간격이 있는 n개의 숫자 (0) | 2019.05.31 |
댓글