1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
class Solution {
public int solution(int num) {
int answer = 0;
long number = num;
while(number !=1){
if(number%2 ==0){
number /= 2;
}else{
number = number *3 +1;
}
answer++;
if(answer == 500){
answer = -1;
break;
}
}
return (int)answer;
}
}
|
cs |
로직 자체는 매우 쉽다. 반복문이든 조건문이든 어떻게 구현해도 나온다.
문제는 number를 int형으로 하면 중간에 오버플로우가 나버린다는 것이다.
그걸 모른다면 계속 풀지 못했을 듯
'코테 > 프로그래머스' 카테고리의 다른 글
이름에 el이 들어가는 동물 찾기 (0) | 2020.12.30 |
---|---|
이상한 문자 만들기 (0) | 2020.12.30 |
제일 작은 수 (0) | 2020.12.30 |
문자열 내 마음대로 정렬하기 (0) | 2020.12.30 |
Null 처리하기 (0) | 2020.12.29 |