CodingSpace

프로그래머스#37(Lv.1)_콜라츠 추측 본문

프로그래머스/Level1

프로그래머스#37(Lv.1)_콜라츠 추측

개발자_조이킴 2021. 10. 11. 23:25

콜라츠 추측

다른 분들이 하신것 보고 배우고 또 배우자! (삼항연산자, 재귀함수)

 

※ 콜라츠 추측: 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다:

  • 입력된 수가 짝수라면 2로 나눕니다.
  • 입력된 수가 홀수라면 3을 곱하고 1을 더합니다.
  • 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다.

 

그래도 포기하지말고 계속해서 공부하자!

화이팅:)

 

입출력 예시


// 프로그래머스 - Lv.1_콜라츠 추측

function solution(num) {
    let cnt = 0
    
    while(cnt < 500) {
        if(num === 1) break;
        if(num % 2 === 0) num = num / 2
        else if(num % 2 !== 0) num = (num * 3) + 1
        
        cnt++
    }
    
    if(cnt >= 500) return -1
    else return cnt
}

<다른분의 solution>


 

Comments