반응형
🔐 문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/12943
🔐 문제 분석
- 주어진 수(num)가 1이 되거나, 반복 횟수가 500번을 넘지 않으면 연산을 지속한다.
- 단, overflow를 고려하여 파라미터를 long 타입으로 선언한다.
🔐 문제 풀이
class Solution {
public int solution(long num) {
int count = 0;
while (num != 1) {
if (num % 2 == 0) {
num = num / 2;
} else {
num = num * 3 + 1;
}
count++;
if (count == 500) {
return -1;
}
}
return count;
}
}
반응형
'Algorithm' 카테고리의 다른 글
[프로그래머스] Lv1. 나누어 떨어지는 숫자 배열 (0) | 2023.06.03 |
---|---|
[프로그래머스] Lv1. 서울에서 김서방 찾기 (0) | 2023.06.03 |
[프로그래머스] Lv1. 두 정수 사이의 합 (0) | 2023.06.02 |
[프로그래머스] Lv1. 하샤드 수 (0) | 2023.06.02 |
[프로그래머스] Lv1. 정수 내림차순으로 배치하기 (0) | 2023.06.02 |