콜라츠 추측
2020.07.28
const collatz = (num, count) => {
if (num == 1) {
return count;
}
if (num % 2 == 0) {
num /= 2;
count++;
return collatz(num, count);
}
num = num * 3 + 1;
count++;
return collatz(num, count);
};
const solution = (num) => {
const result = collatz(num, 0);
if (result > 500) {
return -1;
}
return result;
};
- 항상 프로그래머스는 solution함수를 작성하고 인자도 지정해주니 인자를 추가할 수 없는 줄 알았는데, 기본값을 지정해주면 가능한 거였다.
const solution = (num, count = 0) => {
if (num == 1) {
if (count > 500) {
return -1;
}
return count;
}
if (num % 2 == 0) {
num /= 2;
return solution(num, ++count);
}
num = num * 3 + 1;
return solution(num, ++count);
};