티스토리 뷰
728x90
https://programmers.co.kr/learn/courses/30/lessons/12943
코딩테스트 연습 - 콜라츠 추측
1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2
programmers.co.kr
내 풀이
func solution(_ num:Int) -> Int {
var count = 0
var number = num
let noResult = -1
while number != 1 {
if number % 2 == 0 {
number = number / 2
count += 1
} else if number % 2 == 1 {
number = number * 3 + 1
count += 1
}
}
return count >= 500 ? -1 : count
}
배운것
while
조건문이 참일 경우 반복문이 실행 되게 합니다.
사용법
while 조건 {
statements
}
예제
var arrInt: [Int] = []
var numberCount: Int = 0
while arrInt.count < 7 {
print(arrInt)
arrInt.insert(numberCount, at: arrInt.endIndex)
numberCount += 1
}
// []
// [0]
// [0, 1]
// [0, 1, 2]
// [0, 1, 2, 3]
// [0, 1, 2, 3, 4]
// [0, 1, 2, 3, 4, 5]
728x90
'알고리즘' 카테고리의 다른 글
[Swift 알고리즘] - 키패드 누르기 (Programmers) (0) | 2022.05.18 |
---|---|
[Swift 알고리즘] - 이상한 문자 만들기(Programmers) (0) | 2022.05.16 |
[Swift 알고리즘] - 시저암호 (programmers) (0) | 2022.05.12 |
[Swift 알고리즘] - Max Consecutive Ones (연속되는 숫자 1의 최대값 구하기) (0) | 2022.05.10 |
[Swift 알고리즘] - 약수의 합 (0) | 2022.05.04 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 2023년 회고
- swift programmers
- swift (programmers)
- Swift 프로퍼티
- Swift RIBs
- CS 네트워크
- Swift
- Swift 내림차순
- RTCCameraVideoCapturer
- Swift Error Handling
- RIBs tutorial
- ios
- Swift ModernRIBs
- iOS error
- swift protocol
- Combine: Asynchronous Programming with Swift
- Swift 프로그래머스
- Swift joined
- Class
- swift reduce
- Swift init
- swift property
- Swift joined()
- Swift inout
- swift 고차함수
- Swift final
- removeLast()
- Swift Leetcode
- 원티드 프리온보딩
- Swift 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함