프로그래머스 문제 링크 : 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
}
문제
중요 개념
- 조건이 많기 때문에 분기를 잘 쳐주는게 중요하다고 생각했다
- 조건에 유의한다면 단순하게 반복문을 사용하여 풀 수 있었다
'알고리즘 > Programmers' 카테고리의 다른 글
[Swift_Programmes] 나누어 떨어지는 숫자 배열 (0) | 2023.11.22 |
---|---|
[Swift_Programmes] 서울에서 김서방 찾기 (0) | 2023.11.22 |
[Swift_Programmes] 두 정수 사이의 합 (0) | 2023.11.22 |
[Swift_Programmes] 정수 제곱근 판별 (1) | 2023.11.21 |
[Swift_Programmes] 하샤드 수 (0) | 2023.11.21 |