연습장/프로그래머스

프로그래머스(Kotlin)_ 콜라츠 추측

아이른 2024. 2. 21. 19:29

 

1. Int 범위 값을 벗어나기 때문에 toLong() 타입변환.

2. while_ 조건이 참일 경우 반복을 유지.

3. when_ 하나의 변수를 여러개의 값과 비교.

class Solution {
    fun solution(num: Int): Int {
        var n = num.toLong()
        var answer: Int = 0

        while (answer < 500) {
            when {
                n == 1L -> return answer
                n % 2 == 0L -> n /= 2
                else -> n = 3 * n + 1
            }
            answer++
        }
        return -1
    }
}