간단한 문제인데 다른 사람들 풀이가 다양해서 재밌었다ㅋㅋ
같은 문제를 보고 이렇게 다 다르게 푸는구나...
내 코드
class Solution {
public long solution(int a, int b) {
long answer = 0;
int start = a;
int end = b;
if(a == b) return a;
if(a > b) { start = b; end = a; }
for(int i=start; i<=end; i++){
answer += i;
}
return answer;
}
}
for문을 두 번 돌릴까 하다가 나름 머리 쓴다고 start, end 변수를 사용했다.
a랑 b가 수가 같아도 값이 잘 나오기 때문에 if(a == b) 는 사실상 필요 없었다.
다른사람 코드1
class Solution {
public long solution(int a, int b) {
return sumAtoB(Math.min(a, b), Math.max(b, a));
}
private long sumAtoB(long a, long b) {
return (b - a + 1) * (a + b) / 2;
}
}
두둥.. 프로그래머스에 등차수열의 등장이라..
후.. 분명 고등학교 나왔는데 너 좀 생소하다... 댓글 안 봤으면 등차수열 인지도 몰랐을듯ㅎㅎ
다른사람 코드2
class Solution {
public long solution(int a, int b) {
long answer = 0;
int start = Math.min(a, b);
int end = Math.max(a, b);
for (int i = start; i <= end; i++) {
answer += i;
}
return answer;
}
}
가장 맘에 들었던 코드
나와 비슷하게 start와 end 변수를 만들어서 Math 라이브러리의 min(), max() 함수를 사용해줬다.
내 코드보다 더 깔끔하고 보기 좋은듯. 기억하자 Math...
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/Java]Lv.1 핸드폰 번호 가리기 (0) | 2022.10.17 |
---|---|
[프로그래머스/Java]Lv.1 서울에서 김서방 찾기 (0) | 2022.09.29 |
[프로그래머스/Java] Lv.1 콜라츠 추측 (1) | 2022.09.22 |
[프로그래머스/Java] LV.1 x만큼 간격이 있는 n개의 숫자 (1) | 2022.09.22 |
[프로그래머스/Java] LV.1 정수 내림차순으로 배치하기 (0) | 2022.09.21 |