[Programmers] level 1 - 두 정수 사이의 합
👩🏻💻 문제
👩🏻💻 정답 코드
class Solution {
public long solution(int a, int b) {
long answer = 0;
if(a > b) {
int t = a;
a = b;
b = t;
}
for(int i=a; i<=b; i++) {
answer += i;
}
return answer;
}
}
나는 for문으로 했는데... 좋아요 제일 많은 분 풀이는 등차수열 합공식을 쓴 풀이였다
👩🏻💻 개선 코드
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;
}
}
그래서 들고 와 봤습니다~ 등차수열 합공식을 함수 sumAtoB로 만든 풀이.
그리고 if 문 대신 Math.min(), Math.max()로 대소비교해서 sumAtoB의 인자로 넘겨줬다.
Author And Source
이 문제에 관하여([Programmers] level 1 - 두 정수 사이의 합), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dazzlynn/Programmers-level-1-두-정수-사이의-합저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)