문제) 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다.
function solution(num) {
let number = num
let cnt = 0;
// number가 1인경우 0을 리턴해버린다.
if(number === 1) {
return 0
}
// number이 1보다 클때까지 실행되도록 조건을 건다
while(number > 1) {
if(number % 2 === 0) {
// number가 짝수일때 2를 나눈 값을 number 재할당
number = number / 2
// 한 작업을 완료할 때마다 cnt로 카운터를 세어준다.
cnt++
} else {
// number가 홀수일 때 3을 곱하고 1을 더한 값을 재할당
number = (number * 3) + 1
cnt++
}
// 만약 cnt가 500이 넘는 경우 -1을 리턴해준다.
if(cnt > 500) {
return -1;
}
}
return cnt;
}