728x90
힌트
- 무한 루프와 조건문: 무한 루프를 사용하고 조건문을 통해 특정 상황에서 루프를 종료하는 구조입니다.
- 작업 횟수: 각 작업마다 result를 증가시켜 작업 횟수를 기록합니다.
- 짝수와 홀수 처리: num이 짝수인지 홀수인지에 따라 다른 처리를 합니다.
- 최종 반환 값: 작업이 성공적으로 끝나 num이 1이 되면 result를 반환하고, 그렇지 않으면 -1을 반환하여 작업이 실패했음을 나타냅니다.
정답은 더보기 클릭
더보기
class Solution {
public int solution(long num) {
int result = 0; // 작업 횟수를 저장할 변수
while (true) {
// num이 1이 되거나 작업 횟수가 500 이상이 되면 루프 종료
if (num == 1 || result >= 500) break;
result++; // 작업 횟수 증가
// num이 짝수이면 2로 나누고, 홀수이면 3을 곱하고 1을 더함
if (num % 2 == 0) num = num / 2;
else num = num * 3 + 1;
}
// num이 1이 된 경우 작업 횟수를 반환, 그렇지 않으면 -1 반환
return (num == 1) ? result : -1;
}
}
728x90
'프로그래머스(Java) > Level 1' 카테고리의 다른 글
[프로그래머스] 제일 작은 수 제거하기 (0) | 2024.07.24 |
---|---|
[프로그래머스] 나머지가 1이 되는 수 찾기 (0) | 2024.07.24 |
[프로그래머스] 가장 많이 받은 선물 (0) | 2024.07.19 |
[프로그래머스] 자연수 뒤집어 배열로 만들기 (0) | 2024.07.17 |
[프로그래머스] 자릿수 더하기 (1) | 2024.07.16 |