์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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
- ์ด์งํ์
- ์คํ
- ๋์ ํฉ
- WebApp
- ios
- dp
- ๋นํธ์ฐ์ฐ์
- WebView
- BFS
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- Queue
- ์๊ณ ๋ฆฌ์ฆ
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
- ๋ฐฑ์ค
- ์์
- dfs
- ์ฝ๋ฉํ ์คํธ
- ๋ธ๋ฃจํธํฌ์ค
- SwiftUI
- ์ฝํ
- ๋ฐฑํธ๋ํน
- ๋ฌธ์์ด
- ํ๋ก๊ทธ๋๋จธ์ค
- Swift
- ๋ถํ ํ์
- ๋ถํ ์ ๋ณต
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- ๋ถํ ์ ๋ณต
Archives
- Today
- Total
MUKER_DEV with iOS
[swift] ๋ฐฑ์ค- 2503๋ฒ: ์ซ์ ์ผ๊ตฌ ๋ณธ๋ฌธ
์ฑ๊ณต ํ์ด
var arr = (1...9).map { String($0) }
let length = 3
var used = Array(repeating: false, count: arr.count)
var result = [[Character]]()
func backTracking(_ s: String) {
if s.count == length {
result.append(s.map { $0 })
return
}
for i in 0..<arr.count {
if !used[i] {
used[i] = true
backTracking(s+arr[i])
used[i] = false
}
}
}
backTracking("")
for _ in 0..<Int(readLine()!)! {
let q = readLine()!.split { $0 == " "}.map { Int($0)! }
let num = Array(String(q[0]))
result = result.filter {
var SB = (0,0)
for i in 0..<3 {
if $0[i] == num[i] { SB.0 += 1 }
else if num.contains($0[i]) { SB.1 += 1 }
}
return SB == (q[1],q[2])
}
}
print(result.count)
ํ์ด ํค์๋
- ๋ฐฑํธ๋ํน์ผ๋ก 123~987์ ์ซ์ ์ค ๊ฐ ์๋ฆฟ์์ ๊ฒน์น๋ ์ซ์๊ฐ ์๋ ์ซ์๋ฅผ ๋ฝ์ result ๋ฐฐ์ด์ ์ฝ์
- ๋น๊ตํด์ผํ ์ซ์๊ฐ ๋ค์ด ์ฌ ๋๋ง๋ค result ๋ฐฐ์ด์ filter๋ก ์ํํ๋ค.
- ์ํํ๋ ์ซ์์ ์ฃผ์ด์ง ์ซ์๋ฅผ ๋น๊ตํด ์คํธ๋ผ์ดํฌ์ ๋ณผ์ด ๊ฐ๋ค๋ฉด filter์์ true๋ก ๋ฐํํด์ค๋ค.
- filter๋ก ๊ฑธ๋ฌ์ง ๋ฐฐ์ด์ ๋ค์ result ํ ๋นํ๋ค.
'๐ค ์๊ณ ๋ฆฌ์ฆ > BAEKJOON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] ๋ฐฑ์ค - 14235๋ฒ: ํฌ๋ฆฌ์ค๋ง์ค ์ ๋ฌผ (0) | 2023.07.10 |
---|---|
[swift] ๋ฐฑ์ค - 5635๋ฒ: ์์ผ (0) | 2023.07.07 |
[swift] ๋ฐฑ์ค - 10797๋ฒ: 10๋ถ์ (0) | 2023.06.30 |
[swift] ๋ฐฑ์ค - 5338๋ฒ: ๋ง์ดํฌ๋ก์ํํธ ๋ก๊ณ (0) | 2023.06.25 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - 2960๋ฒ: ์๋ผํ ์คํ ๋ค์ค์ ์ฒด (0) | 2023.06.23 |