본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다
자바스크립트 코드(나의 풀이)
function solution(num) {
let count = 0;
function collatz(num){
// num이 1이면 중단
if (num === 1) {
return;
}
// count가 500이면 중단
if (count === 500) {
count = -1;
return;
}
count += 1;
const isEven = num % 2 === 0;
if (isEven) {
const dividedNum = num / 2;
collatz(dividedNum);
} else {
const multipliedNum = num * 3 + 1;
collatz(multipliedNum);
}
}
collatz(num);
return count;
}
Reference
'programming study > Algorithm' 카테고리의 다른 글
[프로그래머스] 최댓값과 최솟값 - JavaScript 풀이 (0) | 2022.08.07 |
---|---|
[프로그래머스] 문자열 내 마음대로 정렬하기 - JavaScript 풀이 (0) | 2022.07.20 |
[프로그래머스] 같은 숫자는 싫어 - JavaScript 풀이 (0) | 2022.07.16 |
[프로그래머스] 두 정수 사이의 합 - JavaScript 풀이 (0) | 2022.07.15 |
[프로그래머스] 나누어 떨어지는 숫자 배열 - JavaScript 풀이 (0) | 2022.07.15 |