예제:
n | result |
6 | 8 |
16 | 4 |
626331 |
-1 |
제한 조건:
- 입력된 수, num은 1 이상 8000000 미만인 정수입니다.
Solution #1
class Solution {
public int solution(int num) {
int answer = 0;
while (num != 1) {
if (num % 2 == 0) {
num = num / 2;
} else if (num % 2 == 1) {
num = num * 3 + 1;
}
answer++;
if (answer == 500) {
answer = -1;
break;
}
}
return answer;
}
}
Result #1
💡 조건을 잘 읽어보고, while 반복문과 if 조건문을 잘 이용하면 어렵지 않은 문제이다.
More Algorithm!
👇👇
github.com/ggujangi/ggu.programmers
출처 : 프로그래머스
'프로그래머스 - JAVA > Level 1' 카테고리의 다른 글
[JAVA] 프로그래머스 Lv.1 : 짝수와 홀수 (0) | 2021.04.02 |
---|---|
[JAVA] 프로그래머스 Lv.1 : 최대공약수와 최소공배수 (0) | 2021.04.01 |
[JAVA] 프로그래머스 Lv.1 : 평균 구하기 (0) | 2021.04.01 |
[JAVA] 프로그래머스 Lv.1 : 하샤드 수 (0) | 2021.04.01 |
[JAVA] 프로그래머스 Lv.1 : 핸드폰 번호 가리기 (0) | 2021.04.01 |