1. 문제
https://programmers.co.kr/learn/courses/30/lessons/12943
2. 풀이
- 문제를 보면 주어진 조건이 4개가 있다.
- 1-1. 입력된 수가 짝수라면 2로 나눈다.
- 1-2 입력된 수가 홀수라면 3을 곱하고 1을 더한다.
- 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복한다.
- 그리고 문제에 작업을 500번 반복해도 1이 되지 않는 다면 -1을 반환
3. 코드
public static int solution(int num) {
int answer = 0;
while (num != 1) {
if (num % 2 == 0) {
num /= 2;
} else if (num % 2 == 1) {
num = (num * 3) + 1;
}
answer++;
if (answer > 500) {
return -1;
}
}
return answer;
}
}
'Programmers' 카테고리의 다른 글
[Java] 프로그래머스 : 정수 제곱근 판별 (0) | 2022.04.20 |
---|---|
[Java] 프로그래머스 : 제일 작은 수 제거하기 (0) | 2022.04.19 |
[Java] 프로그래머스 : 최대공약수와 최소공배수 (0) | 2022.04.18 |
[Java] 프로그래머스 : 하샤드 수 (0) | 2022.04.13 |
[Java] 프로그래머스 Lv.1 : 나누어 떨어지는 숫자 배열 (0) | 2022.02.21 |