내 코드 - 재귀함수 사용
class Solution {
int cnt = 0;
public int solution(int num) {
int answer = circle(num);
return answer;
}
/**
* 재귀함수 사용
*
* 계산과정에서 cricle의 매개변수가
* int 범위를 벗어날 수가 있다.
*/
public int circle(long num) {
if (num == 1) {
return cnt >= 500 ? -1 : cnt;
} else {
if (num % 2 == 0) {
circle(Long.valueOf(num) / 2);
} else {
circle(Long.valueOf(num) * 3 + 1);
}
cnt++;
}
return cnt >= 500 ? -1 : cnt;
}
}
'프로그래머스' 카테고리의 다른 글
프로그래머스 - 문자열 내 마음대로 정렬하기 (0) | 2019.01.09 |
---|---|
프로그래머스 - 같은 숫자는 싫어 (0) | 2019.01.08 |
프로그래머스 - 자연수 뒤집어 배열로 만들기 (0) | 2019.01.08 |
프로그래머스 - 정수 내림차순으로 배치하기 (0) | 2019.01.08 |
프로그래머스 - 하샤드 수 (0) | 2019.01.08 |