์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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
- Queue
- ๋ถํ ์ ๋ณต
- ๋ถํ ํ์
- ์คํ
- ์ฝํ
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ๋นํธ์ฐ์ฐ์
- ๋ฐฑํธ๋ํน
- Swift
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- ๋์ ํฉ
- ์ด์งํ์
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋ธ๋ฃจํธํฌ์ค
- ์๊ณ ๋ฆฌ์ฆ
- ์ฝ๋ฉํ ์คํธ
- WebView
- BFS
- WebApp
- ๋ถํ ์ ๋ณต
- SwiftUI
- ๋ฐฑ์ค
- dfs
- ๋ฌธ์์ด
- dp
- ์์
- ios
Archives
- Today
- Total
MUKER_DEV with iOS
[swift] ๋ฐฑ์ค - 14940๋ฒ: ์ฌ์ด ์ต๋จ๊ฑฐ๋ฆฌ ๋ณธ๋ฌธ
14940๋ฒ: ์ฌ์ด ์ต๋จ๊ฑฐ๋ฆฌ
์ง๋์ ํฌ๊ธฐ n๊ณผ m์ด ์ฃผ์ด์ง๋ค. n์ ์ธ๋ก์ ํฌ๊ธฐ, m์ ๊ฐ๋ก์ ํฌ๊ธฐ๋ค.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000) ๋ค์ n๊ฐ์ ์ค์ m๊ฐ์ ์ซ์๊ฐ ์ฃผ์ด์ง๋ค. 0์ ๊ฐ ์ ์๋ ๋ ์ด๊ณ 1์ ๊ฐ ์ ์๋ ๋ , 2๋ ๋ชฉํ์ง์ ์ด
www.acmicpc.net
์ฑ๊ณต ํ์ด
let dy = [0,0,1,-1]
let dx = [-1,1,0,0]
let NM = readLine()!.split(separator: " ").map { Int($0)! }
let (n,m) = (NM[0],NM[1])
var map = [[Int]]()
var queue = [(Int,Int)]()
var result = Array(repeating: Array(repeating: -1, count: m), count: n)
for i in 0..<n {
let input = readLine()!.split(separator: " ").map { Int($0)! }
for j in 0..<m {
if input[j] == 2 { // ์์์ (์ซ์2)์ขํ queue์ ์ถ๊ฐ
queue.append((i,j))
result[i][j] = 0
}
if input[j] == 0 { // 0์ result์ ๋ฏธ๋ฆฌ 0์ผ๋ก ์ด๊ธฐํ
result[i][j] = 0
}
}
map.append(input)
}
while !queue.isEmpty {
let now = queue.removeFirst()
for i in 0..<4 {
let moveY = dy[i] + now.0
let moveX = dx[i] + now.1
guard moveY >= 0 && moveY < n && moveX >= 0 && moveX < m else { continue }
guard result[moveY][moveX] == -1 else { continue }
result[moveY][moveX] = result[now.0][now.1] + 1
queue.append((moveY,moveX))
}
}
for i in result {
i.forEach { print($0,terminator: " ") }
print("")
}
ํ์ด ํค์๋
BFS
- ์ง๋๊ฐ์ง ๋ชปํ๋ 0์ ๋ฏธ๋ฆฌ result๋ฐฐ์ด์ 0์ผ๋ก ์ด๊ธฐํ ํด์ค์ ์ค๋ต ๋ฐฉ์ง
'๐ค ์๊ณ ๋ฆฌ์ฆ > BAEKJOON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] ๋ฐฑ์ค - 9465๋ฒ: ์คํฐ์ปค (0) | 2023.05.11 |
---|---|
[swift] ๋ฐฑ์ค - 9466๋ฒ: ํ ํ๋ก์ ํธ (0) | 2023.05.10 |
[swift] ๋ฐฑ์ค - 9063๋ฒ: ๋์ง (0) | 2023.05.08 |
[swift] ๋ฐฑ์ค - 15894๋ฒ: ์ํ์ ์ฒด์ก๊ณผ๋ชฉ ์ ๋๋ค (0) | 2023.05.07 |
[swift] ๋ฐฑ์ค - 3009๋ฒ: ๋ค ๋ฒ์งธ ์ (0) | 2023.05.06 |