Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- identifiable
- swift custom ui
- custom ui
- swift dashed line
- button configuration
- swift associated type
- swift concurrency
- task cancel
- custom navigation bar
- uikit toast
- swift 백준
- swift navigationcontroller
- OAtuh 2.0
- traits
- Tuist
- BFS
- 버튼 피드백
- coordinator
- DP
- custombottomsheet
- swift 점선
- task cancellation
- reactorkit
- SWIFT
- swift bottomsheet
- RxSwift
- swift opaque type
- scene delegate
- swift existential type
- UIKit
Archives
- Today
- Total
김경록의 앱 개발 여정
[Swift 백준] 2193 이친수 본문
풀이 아이디어
dp 문제입니다.
공통된 점화식을 찾아야합니다.
조건에 의하면 이친수는
- 무조건 1로 시작
- 11의 부분 문자열이 없어야함
입니다.
n = 1 인 경우 [1] 으로 1개
n = 2 인 경우 [10] 으로 1개
n= 3 인 경우 [100, 101] 으로 2개
n = 4 인 경우 [1000, 1001, 1010] 으로 3개 입니다.
정확히 피보나치수와 같은 점화식을 갖고 있음을 알 수 있습니다.
풀이
let n = Int(readLine()!)!
var dp = Array(repeating: 0, count: 91)
dp[1] = 1
dp[2] = 1
dp[3] = 2
if n >= 4{
for i in 4...n {
dp[i] = dp[i-2] + dp[i-1]
}
print(dp[n])
} else {
print(dp[n])
}
'Algorithm' 카테고리의 다른 글
[Swift 백준] 25304 영수증 (0) | 2025.02.06 |
---|---|
[Swift 백준] 1535 안녕 (0) | 2025.02.05 |
[Swift 백준] 16953 A -> B (0) | 2025.01.28 |
[Swift 백준] 1676 팩토리얼 0의 개수 (0) | 2025.01.26 |
[Swift 백준] 음식물 피하기 (0) | 2025.01.24 |