본문 바로가기
Algorithm

[프로그래머스] 콜라츠 추측 - JavaScript 📝

by Baest 2021. 11. 10.

[링크]

https://programmers.co.kr/learn/courses/30/lessons/12943

 

코딩테스트 연습 - 콜라츠 추측

1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2

programmers.co.kr

 

[문제설명 및 입출력 예]

 

[내가 제출한 코드 및 풀이]

 

function solution(num) {
    let cnt = 0;                                // 반복횟수
    while(num !== 1) {                          // num이 1이 아닐 경우(만 while문 수행)
        if(cnt > 500) {                         // 반복횟수가 500이 넘을 경우 
            return -1;                          // return -1 
        }
        num % 2 === 0 ? num=num/2 : num=num*3+1 // num이 짝수일 경우 /2 를 하고, 홀수이면 *3+1 수행
        cnt++                                   // 반목문 돌 때마다 cnt 1씩 증가
    }    
    return cnt;
}

 

 

[다른 사람의 코드]