728x90
문제
두 정수 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 |
기본 제공 틀
class Solution {
public long solution(int a, int b) {
long answer = 0;
return answer;
}
}
풀이 [Java]
이번 문제 풀이를 보면 조금 복잡해 보일 수 있는데요, 생각보다 간단한 문제입니다 :D
우선, 두 수의 크기를 비교해서 두 수의 차를 알아내야합니다.
그래서 첫 번째 if절에서는 a와 b를 비교하여 a가 작을 때, i값을 a로 초기화를 하고, b까지 i를 돌면서 초기값 0에서 더해가도록 짜보았습니다.
예를 들어, a가 3이고 b가 5인 경우, answer는 0에서 시작하여, 0+3+4+5까지 돌아, 결국 예상되는 결괏값 12를 도출해낼 수 있겠죠?
반대의 경우 즉, a가 b보다 클때에는 else절에서 b를 i의 초기값으로 설정하여, a까지 for문을 돌도록 하여 같은 로직을 구현하면 원하는 결괏값이 어렵지 않게 나오는 것을 알 수 있습니다.
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 {
for(int i=b; i<=a; i++) {
answer += i;
}
}
return answer;
}
}
채점 결과 [Java]
728x90
'알고리즘 스터디 > 프로그래머스 스킬체크 레벨 1(끝)' 카테고리의 다른 글
[프로그래머스 스킬체크 레벨 1] 핸드폰 번호 가리기 문제 풀이 및 설명 - 자바[Java] (0) | 2020.05.12 |
---|---|
[프로그래머스 스킬체크 레벨 1] 평균 구하기 문제 풀이 및 설명 - 자바[Java] (0) | 2020.05.12 |
[프로그래머스 스킬체크 레벨 1] 서울에서 김서방 찾기 문제 풀이 및 설명 - 자바[Java] (0) | 2020.05.12 |
[프로그래머스 스킬체크 레벨 1] 직사각형 별찍기, 두 개의 정수 n과 m을 입력받아 별(*) 문자를 이용해 직사각형 출력 문제 풀이 및 설명 - 자바[Java] (0) | 2020.05.12 |
[프로그래머스 스킬체크 레벨 1] x만큼 간격이 있는 n개의 숫자 문제 풀이 및 설명 - 자바[Java] (0) | 2020.05.11 |
댓글