์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ๋ธ๋ฃจํธํฌ์ค
- ๋ฐฑ์ค
- ios
- ์์
- Queue
- ๋์ ํฉ
- ๋ฐฑํธ๋ํน
- Swift
- ์ด์งํ์
- ์๊ณ ๋ฆฌ์ฆ
- ์คํ
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- WebView
- WebApp
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ๋ถํ ํ์
- ์ฝ๋ฉํ ์คํธ
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
- SwiftUI
- ๋ฌธ์์ด
- ๋ถํ ์ ๋ณต
- dp
- ์ฝํ
- BFS
- dfs
- ๋นํธ์ฐ์ฐ์
- ๋ถํ ์ ๋ณต
- Today
- Total
MUKER_DEV with iOS
[swift] ๋ฐฑ์ค : 16974๋ฒ: ๋ ๋ฒจ ํ๋ฒ๊ฑฐ ๋ณธ๋ฌธ
๋ฌธ์ ๋งํฌ
16974๋ฒ: ๋ ๋ฒจ ํ๋ฒ๊ฑฐ
์๊ทผ๋ ๋์์ ์ค๋๋ง์ ์๋ก์ด ํ๋ฒ๊ฑฐ๋ฅผ ์ถ์ํ๋ค. ๋ฐ๋ก ๋ ๋ฒจ-L ๋ฒ๊ฑฐ์ด๋ค. ๋ ๋ฒจ-L ๋ฒ๊ฑฐ๋ ๋ค์๊ณผ ๊ฐ์ด ๋ง๋ ๋ค. ๋ ๋ฒจ-0 ๋ฒ๊ฑฐ๋ ํจํฐ๋ง์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๋ ๋ฒจ-L ๋ฒ๊ฑฐ๋ ํ๋ฒ๊ฑฐ๋ฒ, ๋ ๋ฒจ-(L-1) ๋ฒ๊ฑฐ,
www.acmicpc.net
๋ฌธ์
์๊ทผ๋ ๋์์ ์ค๋๋ง์ ์๋ก์ด ํ๋ฒ๊ฑฐ๋ฅผ ์ถ์ํ๋ค. ๋ฐ๋ก ๋ ๋ฒจ-L ๋ฒ๊ฑฐ์ด๋ค. ๋ ๋ฒจ-L ๋ฒ๊ฑฐ๋ ๋ค์๊ณผ ๊ฐ์ด ๋ง๋ ๋ค.
- ๋ ๋ฒจ-0 ๋ฒ๊ฑฐ๋ ํจํฐ๋ง์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
- ๋ ๋ฒจ-L ๋ฒ๊ฑฐ๋ ํ๋ฒ๊ฑฐ๋ฒ, ๋ ๋ฒจ-(L-1) ๋ฒ๊ฑฐ, ํจํฐ, ๋ ๋ฒจ-(L-1)๋ฒ๊ฑฐ, ํ๋ฒ๊ฑฐ๋ฒ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. (L ≥ 1)
์๋ฅผ ๋ค์ด, ๋ ๋ฒจ-1 ๋ฒ๊ฑฐ๋ 'BPPPB', ๋ ๋ฒจ-2 ๋ฒ๊ฑฐ๋ 'BBPPPBPBPPPBB'์ ๊ฐ์ด ์๊ฒผ๋ค. (B๋ ํ๋ฒ๊ฑฐ๋ฒ, P๋ ํจํฐ)
์๋๊ฐ ์๊ทผ๋ ๋์ ๋ฐฉ๋ฌธํด์ ๋ ๋ฒจ-N ๋ฒ๊ฑฐ๋ฅผ ์์ผฐ๋ค. ์๋๊ฐ ํ๋ฒ๊ฑฐ์ ์๋ X์ฅ์ ๋จน์์ ๋, ๋จน์ ํจํฐ๋ ๋ช ์ฅ์ผ๊น? ํ ์ฅ์ ํ๋ฒ๊ฑฐ๋ฒ ๋๋ ํจํฐ ํ ์ฅ์ด๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ N๊ณผ X๊ฐ ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์๋๊ฐ ๋จน์ ํจํฐ์ ์๋ฅผ ์ถ๋ ฅํ๋ค.
์ ํ
- 1 ≤ N ≤ 50
- 1 ≤ X ≤ ๋ ๋ฒจ-N ๋ฒ๊ฑฐ์ ์๋ ๋ ์ด์ด์ ์
์์
์ฑ๊ณต ํ์ด
let NX = readLine()!.split { $0 == " " }.map { Int($0)! }
let N = NX[0], X = NX[1]
var total = [1]+Array(repeating: 0, count: 50)
var patty = [1]+Array(repeating: 0, count: 50)
for i in 1...N {
total[i] = total[i-1]*2+3
patty[i] = patty[i-1]*2+1
}
func sol(n: Int, x: Int) -> Int {
if n == 0 { return x }
if x == 1 { return 0 }
if x == total[n] { return patty[n] }
if x == total[n-1] + 2 {
return patty[n-1] + 1
} else if x < total[n-1] + 2 {
return sol(n: n-1, x: x-1)
} else {
return patty[n-1] + 1 + sol(n: n-1, x: x - (total[n-1] + 2))
}
}
print(sol(n: N, x: X))
'๐ค ์๊ณ ๋ฆฌ์ฆ > BAEKJOON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] ๋ฐฑ์ค - 1697๋ฒ: ์จ๋ฐ๊ผญ์ง (0) | 2023.07.13 |
---|---|
[swift] ๋ฐฑ์ค - 1748๋ฒ: ์ ์ด์ด ์ฐ๊ธฐ 1 (0) | 2023.07.12 |
[swift] ๋ฐฑ์ค - 14235๋ฒ: ํฌ๋ฆฌ์ค๋ง์ค ์ ๋ฌผ (0) | 2023.07.10 |
[swift] ๋ฐฑ์ค - 5635๋ฒ: ์์ผ (0) | 2023.07.07 |
[swift] ๋ฐฑ์ค- 2503๋ฒ: ์ซ์ ์ผ๊ตฌ (0) | 2023.07.05 |