
* 문제 풀이
class Solution {
public long solution(int a, int b) {
long answer = 0;
if(a < b){
for(int i = a; i <= b; i++){
answer += i;
}
} else if(a > b){
for(int i = b; i <= a ; i++){
answer += i;
}
} else{
answer = a;
}
return answer;
}
}

조건식 if 문에서 a와 b의 크기를 비교해 조건에 맞는 코드를 실행한다.
a < b의 경우, 3+4+5를 계산.
b < a의 경우, 5+4+3을 계산.
a = b의 경우, a나 b 중 아무 수나 리턴, a로 설정했으니 a 값 리턴
근데 이 식이 효율성이 떨어지기 때문에 개선하기 위해 등차수열의 합 공식을 사용할 수 있다고 한다.
public long solution(int a, int b) {
long start = Math.min(a, b);
long end = Math.max(a, b);
return (end - start + 1) * (start + end) / 2;
}
등차수열의 합 공식... 그게 뭔데...
일정한 차이(공차)를 가진 연속된 숫자들의 합을 계싼하는 수학 공식이라고 한다~

S : 등차수열의 합
n : 항의 개수(첫번쨰 항부터 마지막 항까지 포함된 항의 개수)
a : 첫번째 항
l : 마지막 항
* 프로그래머스 다른 풀이
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
'코테 > 프로그래머스 JAVA Lv.1' 카테고리의 다른 글
| [프로그래머스/java/Lv.1] x만큼 간격이 있는 n개의 숫자 (0) | 2024.10.15 |
|---|---|
| [프로그래머스/java/Lv.1] 자릿수 더하기 (0) | 2024.10.12 |
| [프로그래머스/java/Lv.1] 평균 구하기 (0) | 2024.10.01 |
| [프로그래머스/java/Lv.1] 나머지가 1이 되는 수 찾기 (0) | 2024.09.30 |
| [프로그래머스/java/Lv.1] 문자열을 정수로 바꾸기 (0) | 2024.09.29 |