알고리즘/Programmers

[Swift_Programmes] 콜라츠 추측 🌟

YEN_ 2023. 11. 22. 10:59

 

프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12943


풀이    

func solution(_ num:Int) -> Int {
    
    guard num != 1 else { return 0 }
    
    var value: Int = num
    var count: Int = 0
    
    while value != 1 && count <= 500 {
        value % 2 == 0 ? (value = value / 2) : (value = value * 3 + 1)
        count += 1
    }
    
    return value == 1 ? count : -1  
    
}

문제   

 

중요 개념    

  • 조건이 많기 때문에 분기를 잘 쳐주는게 중요하다고 생각했다
  • 조건에 유의한다면 단순하게 반복문을 사용하여 풀 수 있었다