알고리즘/프로그래머스
[프로그래머스][자바스크립트][Level1] 콜라츠 추측
Benjamin_Choi
2022. 2. 28. 18:59
풀이
/**
* 콜라츠추측.js
* https://programmers.co.kr/learn/courses/30/lessons/12943?language=javascript
*/
function solution(num) {
let count = 0, n = num;
while (count <= 500 && n !== 1) {
n = colatzGuess(n);
count++;
}
return count > 500 ? -1 : count;
}
function colatzGuess(num) {
return num % 2 === 0 ? num /= 2 : (num * 3) + 1;
}
문제에 주어진대로 짝수/홀수 일 때를 구분해서 처리해주면된다. 재귀로도 처리가능하나 while로 처리했다.