728x90
https://school.programmers.co.kr/learn/courses/30/lessons/12943
728x90
메모리: 77.9 MB, 시간: 0.04 ms
사용 알고리즘: 구현, 비트 연산자
class Solution {
public int solution(int num) {
int answer = 0;
long n = num;
while(n > 1) {
if(++answer == 501) { // 400번 반복할 때까지 1이 되지 않은 경우
answer = -1; // -1 반환
break;
}
if((n & 1) == 0) { // 짝수인 경우
n = n >> 1; // 2 나눔
} else { // 홀수인 경우
n = n * 3 + 1; // 3을 곱하고 1을 더함
}
}
return answer;
}
}
728x90
'Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스, 64062] 징검다리 건너기 (java) (0) | 2024.08.29 |
---|---|
[프로그래머스, 12985] 예상 대진표 (java) (0) | 2024.08.28 |
[프로그래머스, 12984] [level 4] 지형 편집 (java) (1) | 2024.08.27 |
[프로그래머스, 67258] [카카오 인턴] 보석 쇼핑 (java) (0) | 2024.08.26 |
[프로그래머스, 131530] 가격대 별 상품 개수 구하기 (mysql) (0) | 2024.08.25 |