프로그래머스/[프로그래머스 - JAVA] Lv.1
[프로그래머스 - JAVA] 콜라츠 추측
코딩하는 흰둥이
2023. 3. 27. 22:50
- 내 풀이
class Solution {
public int solution(int num) {
int answer = 0;
// 숫자가 너무 커지면 int 형에서 오버플로우가 일어난다
long check = num;
for (int i = 0; i < 500; i++) {
if(check == 1){
answer = i;
break;
}
if(check % 2 ==0){
check /= 2;
answer++;
} else if (check != 1 && check % 2 == 1) {
check = (check * 3) + 1;
}
}
if(check > 1){
answer = -1;
}
return answer;
}
}
if의 난발이다....
- 다른 사람 풀이
class Solution {
public int solution(long num) {
int answer = 0;
while(num != 1){
answer++;
if(answer==500)
return -1;
if(num%2==0){
num/=2;
}else{
num=num*3+1;
}
}
return answer;
}
}