[프로그래머스 | Javascript] 콜라츠 추측

박기영·2022년 9월 12일
0

프로그래머스

목록 보기
29/159
post-custom-banner

solution

function solution(num) {
    if(num === 1){
        return 0;
    } else{
        let count = 0;
        
        while(num !== 1){
            // 만약 연산을 500번 진행해서 count가 500이 될 때까지 while문이 종료되지 않으면
            // -1을 반환한다.
            if(count === 500){
                return -1;
            }
            
            // num이 짝수인 경우와 홀수인 경우 분기 처리
            if(num % 2 === 0){
                num /= 2;
            } else {
                num = num * 3 + 1;
            }
            
            // 한번 연산을 진행하면 count를 증가시킨다.
            count++;
        }
        
        // 만약 while문을 빠져나오면 그 때의 count를 출력한다
        return count;
    }
}

이번 문제는 문제만 이해하면 그대로 코드로 옮겨주기만 하면 된다.
분기처리를 신경 써주는 것이 관건인 것 같고, 분기 처리의 순서를 잘 짜는 것도 주요 포인트라고 생각한다.

profile
나를 믿는 사람들을, 실망시키지 않도록
post-custom-banner

0개의 댓글