반응형
프로그래머스(Programmers)
문제명 : 두 정수 사이의 합
언어 : 자바(java)
두 정수를 받아 a와 b중 큰 숫자와 작은 숫자로 분류한 뒤
작은 숫자에서 큰 숫자가 될 때까지 더해주면 되는데
값이 동일할 경우에는 a와 b중 아무 값이나 반환하면 된다
포인트는 a와 b중 큰 숫자를 찾아내고
큰 숫자에 맞춰서 작은 숫자를 큰 숫자가 될때까지 더해주면서
그 값을 반환하면 된다는 거다
내가 푼 방법은 다음과 같은데
일단 bigNum이라는 long 타입의 변수를 만들어
여기에 받은 int a와 b 중에서 더 큰 값을 받아주고
작은 값으로는 for문을 돌려서 answer에 계속 더해준다
반면 a와 b가 같을 경우에는 a와 b 중에 하나를 answer로 넣어 반환시킨다
마지막으로 프로그래머스 문제에 복사 붙여넣기를 하면 되는 답안은 아래와 같다
class Solution {
public long solution(int a, int b) {
long answer = 0;
long bigNum = 0;
if( a > b ) { // a가 b보다 클 경우
bigNum = a;
for(int i = b; i<=bigNum; i++ ) {
answer = answer + i;
}
} else if( a < b ) { //a가 b보다 작을경우
bigNum = b;
for(int i = a; i<=bigNum; i++ ) {
answer = answer + i;
}
} else if( a == b ) { // a와 b가 같을 경우
answer = a;
}
return answer;
}
}
반응형
'IT > Algorithm' 카테고리의 다른 글
프로그래머스(Programmers) 문자열을 정수로 바꾸기(java) (0) | 2019.08.15 |
---|---|
프로그래머스(Programmers) 2016년(java) (0) | 2019.08.15 |
프로그래머스(Programmers) 나누어 떨어지는 숫자 배열(java) (0) | 2019.08.11 |
프로그래머스(Programmers) 문자열 내 p와 y의 개수(java) (0) | 2019.08.10 |
프로그래머스(Programmers) 같은 숫자는 싫어(java) (0) | 2019.08.08 |
댓글