์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
Tags
- BFS
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ์ฝ๋ฉํ ์คํธ
- SwiftUI
- ios
- ๋ถํ ์ ๋ณต
- ์ด์งํ์
- WebView
- Queue
- ๋์ ํฉ
- ์ฝํ
- dp
- ๋ฐฑํธ๋ํน
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
- ๋นํธ์ฐ์ฐ์
- ์์
- ๋ฐฑ์ค
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- WebApp
- ๋ถํ ์ ๋ณต
- ๋ธ๋ฃจํธํฌ์ค
- ์๊ณ ๋ฆฌ์ฆ
- ๋ถํ ํ์
- dfs
- ๋ฌธ์์ด
- Swift
- ์คํ
Archives
- Today
- Total
MUKER_DEV with iOS
[swift] ๋ฐฑ์ค - 1463๋ฒ: 1๋ก ๋ง๋ค๊ธฐ ๋ณธ๋ฌธ
1463๋ฒ: 1๋ก ๋ง๋ค๊ธฐ
์ฒซ์งธ ์ค์ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 106๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์ N์ด ์ฃผ์ด์ง๋ค.
www.acmicpc.net
๋์ ํ์ด
var num = Int(readLine()!)!
var arr = Array(repeating: 0, count: num+1)
for i in 1...num {
if i == 1 { continue }
arr[i] = arr[i-1]+1 // 1์ ๋บ์ ๋
if i % 3 == 0 { arr[i] = min(arr[i], arr[i/3]+1) } // 3์ผ๋ก ๋๋ ์ง ๋
if i % 2 == 0 { arr[i] = min(arr[i], arr[i/2]+1) } // 2๋ก ๋๋ ์ง ๋
}
print(arr[num])
ํ์ด ํค์๋
DP
2๋ถํฐ ์ต์๋ก 1๊น์ง ๋๋ฌ ํ ์ ์๋ ์ซ์๋ฅผ arr๋ฐฐ์ด์ ์ ์ฅํ๋ฉด์ ๋ฐ๋ณต๋ฌธ์ ๋๋ ค์ค๋๋ค.
์ต์๋ก ๋๋ฌ ํ ์ ์๋ ์กฐ๊ฑด์
i - 1์ ์ต์ ๋๋ฌ๊ฑฐ๋ฆฌ + 1
i๊ฐ 3์ผ๋ก ๋๋ ์ง ๋ i / 3์ ์ต์ ๋๋ฌ๊ฑฐ๋ฆฌ + 1
i๊ฐ 2๋ก ๋๋ ์ง ๋ i / 2์ ์ต์ ๋๋ฌ๊ฑฐ๋ฆฌ + 1
์ต๋ 3๊ฐ์ง์ ์กฐ๊ฑด ์ค ์ ์ผ ์์ ์๋ฅผ ํด๋นํ๋ ์ธ๋ฑ์ค๋ฅผ arr์ ์ ์ฅํฉ๋๋ค.
'๐ค ์๊ณ ๋ฆฌ์ฆ > BAEKJOON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] ๋ฐฑ์ค - 10813๋ฒ: ๊ณต ๋ฐ๊พธ๊ธฐ (0) | 2023.04.02 |
---|---|
[swift] ๋ฐฑ์ค - 10810๋ฒ: ๊ณต ๋ฃ๊ธฐ (0) | 2023.04.01 |
[swift] ๋ฐฑ์ค - 1520๋ฒ: ๋ด๋ฆฌ๋ง ๊ธธ (0) | 2023.03.30 |
[swift] ๋ฐฑ์ค - 12865๋ฒ: ํ๋ฒํ ๋ฐฐ๋ญ (0) | 2023.03.30 |
[swift] ๋ฐฑ์ค - 25314๋ฒ: ์ฝ๋ฉ์ ์ฒด์ก๊ณผ๋ชฉ ์ ๋๋ค (0) | 2023.03.26 |