Notice
Recent Posts
Recent Comments
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Today
Total
관리 메뉴

차차로그

[JS] 연습문제 > 콜라츠 추측 본문

코딩테스트

[JS] 연습문제 > 콜라츠 추측

차차한 2022. 8. 29. 10:39

function solution(num) {
    var answer = 0;

    while(num > 1){
        
        if(num % 2 == 0){
            num = num / 2;
            answer++;
        }else{
            num = num * 3 + 1;
            answer++;
        }
        if(answer == 500 && num != -1){
            return -1;
        }
    }    
    return answer;
}

num이 1이 될 때까지 연산을 반복해야하기 때문에 while을 사용했다.

num이 짝수면 2를 나누고 연산횟수(answer)를 1씩 올려준다.

홀수인 경우 3을 곱하고 1을 더하고 연산횟수를 1 올려준다.

연산횟수가 500번이 되도 num이 1이 되지 않을 경우엔 -1을 리턴하라고 했으므로 따로 if조건을 달아줬다.

Comments