[programmers] 콜라츠 추측 (java) -1level
2022. 2. 25. 10:47ㆍAlgorithm/Programmers
문제 설명
문제 해결
입력받은 num의 타입을 long으로 해주어야 한다.
타입을 바꾸지않고 진행하게 되면 int 타입을 넘어 오버플로우가 발생한다. (-1을 한번 거치게 된다.)
제한 사항을 염두하고 풀이에 집중하자.
public class 콜라츠추측 {
public int solution(long num) {
// 입력받은 num 을 long 으로 타입을 바꿔줘야한다.
int cnt = 0;
while(num != 1){
if(num % 2 == 0) num /= 2;
else num = num * 3 + 1;
cnt ++;
if(cnt == 500){
return -1;
}
}
return cnt;
}
}
728x90
'Algorithm > Programmers' 카테고리의 다른 글
[programmers] 2016년 (java) -1level (0) | 2022.02.26 |
---|---|
[programmers] 최소직사각형 (java) -1level (0) | 2022.02.26 |
[programmers] 자연수 뒤집어 배열로 만들기 (java) -1level (0) | 2022.02.23 |
[programmers] 나누어 떨어지는 숫자 배열 (java) -1level (0) | 2022.02.22 |
[programmers] 문자열 내 마음대로 정렬하기 (java) -1level (0) | 2022.02.21 |