☕Language: Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
class Solution {
public long solution(int a, int b) {
// a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수
// a와 b가 같은 경우는 둘 중 아무 수나 리턴
long answer = 0;
if(a==b) return answer = a;
int max = a > b ? a : b;
int min = a > b ? b : a;
while(max>=min){
answer += max--;
}
return answer;
}
}
|
🤔 해설
1. int max = a > b ? a : b;
- a와 b의 대소관계가 정해져 있지 않으므로, max와 min 구별
😮 이 외의 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
class Solution {
public long solution(int a, int b) {
// a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수
// a와 b가 같은 경우는 둘 중 아무 수나 리턴
long answer = sumAtoB(Math.min(a, b), Math.max(b, a));;
return answer;
}
private long sumAtoB(long a, long b) {
return (b - a + 1) * (a + b) / 2;
}
}
|
1. return (b - a + 1) * (a + b) / 2;
- 등차수열 합 공식
2. private long sumAtoB(int a, int b) { ... }
- sumAtoB의 return 값이 int값을 벗어나므로 매개변수를 long으로 넘겨줘야 함
🔗 소스 코드
GitHub
📚 참고 자료
'Computer > Algorithm_Java' 카테고리의 다른 글
[BaekJoon] 13909번 창문 닫기 문제 풀이 (Success) (0) | 2023.09.23 |
---|---|
[Programmers] 문자열 내 마음대로 정렬하기 (Success) (0) | 2023.09.22 |
[BaekJoon] 15650번 N과 M (2) 문제 풀이 (Success) (0) | 2023.09.20 |
[Programmers] 나누어 떨어지는 숫자 배열 (Success) (0) | 2023.09.19 |
[Programmers] 소수 만들기 (Success) (0) | 2023.09.18 |