728x90
문제 바로가기: https://school.programmers.co.kr/learn/courses/30/lessons/12943
나의 풀이
class Solution {
public int solution(int num) {
long result = num;
if(num == 1){
return 0;
};
for(int i = 0; i < 500; i++){
result = result % 2 == 0 ? result / 2 : result * 3 + 1;
if(result == 1){
return i + 1;
}
}
return -1;
}
}
다른 사람의 풀이
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;
}
}
소감
자료형의 길이도 외워보자