์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ๋ถํ ์ ๋ณต
- ๋ถํ ํ์
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- ์๊ณ ๋ฆฌ์ฆ
- ๋นํธ์ฐ์ฐ์
- ์ฝ๋ฉํ ์คํธ
- ๋ฐฑ์ค
- Queue
- ํ๋ก๊ทธ๋๋จธ์ค
- ์์
- ์คํ
- WebView
- ๋ฐฑํธ๋ํน
- Swift
- ๋ฌธ์์ด
- ์ด์งํ์
- ๋ถํ ์ ๋ณต
- WebApp
- BFS
- dp
- ๋ธ๋ฃจํธํฌ์ค
- ์ฝํ
- ๋์ ํฉ
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ios
- SwiftUI
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
- dfs
- Today
- Total
MUKER_DEV with iOS
[swift] ๋ฐฑ์ค - 10709๋ฒ: ๊ธฐ์์บ์คํฐ ๋ณธ๋ฌธ
๋ฌธ์ ๋งํฌ
10709๋ฒ: ๊ธฐ์์บ์คํฐ
์ถ๋ ฅ์ H ํ์ผ๋ก, ๊ฐ ํ์๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ W ๊ฐ์ ์ ์๋ฅผ ์ถ๋ ฅํ๋ค. ์ถ๋ ฅ์ i ๋ฒ์งธ ํ j ๋ฒ์งธ ์ ์ (1 โฆ i โฆ H, 1 โฆ j โฆ W) ๋, ์ง๊ธ๋ถํฐ ๋ช ๋ถํ์ ์ฒ์์ผ๋ก ๊ตฌ์ญ (i, j) ์ ๊ตฌ๋ฆ์ด ๋จ๋์ง๋ฅผ ํ์
www.acmicpc.net
๋ฌธ์
JOI์๋ ๋จ๋ถ๋ฐฉํฅ์ด H ํฌ๋ก๋ฏธํฐ, ๋์๋ฐฉํฅ์ด W ํฌ๋ก๋ฏธํฐ์ธ ์ง์ฌ๊ฐํ ๋ชจ์์ด๋ค. JOI์๋ ๊ฐ๋ก์ ์ธ๋ก์ ๊ธธ์ด๊ฐ 1ํฌ๋ก๋ฏธํฐ์ธ H × W ๊ฐ์ ์์ ๊ตฌ์ญ๋ค๋ก ๋๋์ด ์๋ค. ๋ถ์ชฝ์ผ๋ก๋ถํฐ i ๋ฒ์งธ, ์์ชฝ์ผ๋ก๋ถํฐ j ๋ฒ์งธ์ ์๋ ๊ตฌ์ญ์ (i, j) ๋ก ํ์ํ๋ค.
๊ฐ ๊ตฌ์ญ์ ํ๋์๋ ๊ตฌ๋ฆ์ด ์์ ์๋, ์์ ์๋ ์๋ค. ๋ชจ๋ ๊ตฌ๋ฆ์ 1๋ถ์ด ์ง๋ ๋๋ง๋ค 1ํฌ๋ก๋ฏธํฐ์ฉ ๋์ชฝ์ผ๋ก ์ด๋ํ๋ค. ์ค๋์ ๋ ์จ๊ฐ ์ ๋ง ์ข๊ธฐ ๋๋ฌธ์ JOI์์ ์ธ๋ถ์์ ๊ตฌ๋ฆ์ด ์ด๋ํด ์ค๋ ๊ฒฝ์ฐ๋ ์๋ค.
์ง๊ธ ๊ฐ ๊ตฌ์ญ์ ํ๋์ ๊ตฌ๋ฆ์ด ์๋์ง ์๋์ง๋ฅผ ์๊ณ ์๋ค. ๊ธฐ์์ฒญ์์ ์ผํ๊ณ ์๋ ์ฌ๋ฌ๋ถ์ ๊ฐ ๊ตฌ์ญ์ ๋ํด์ ์ง๊ธ๋ถํฐ ๋ช ๋ถ๋ค ์ฒ์์ผ๋ก ํ๋์ ๊ตฌ๋ฆ์ด ์ค๋์ง๋ฅผ ์์ธกํ๋ ์ผ์ ๋งก์๋ค.
๊ฐ ๊ตฌ์ญ์ ๋ํด์ ์ง๊ธ๋ถํฐ ๋ช ๋ถ๋ค ์ฒ์์ผ๋ก ํ๋์ ๊ตฌ๋ฆ์ด ์ค๋์ง๋ฅผ ๊ตฌํ์ฌ๋ผ.
์ ๋ ฅ
์ ๋ ฅ์ 1 + H ํ์ผ๋ก ์ฃผ์ด์ง๋ค.
์ฒซ ๋ฒ์งธ ํ์๋ ์ ์ H, W (1 โฆ H โฆ 100, 1 โฆ W โฆ 100) ๊ฐ ๊ณต๋ฐฑ์ ์ฌ์ด์ ์ฃผ๊ณ ์ฃผ์ด์ง๋ค. ์ด๊ฒ์ JOI์๊ฐ H × W ๊ฐ์ ์์ ๊ตฌ์ญ์ผ๋ก ๋๋์ด ์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
์ด์ด์ง H ๊ฐ์ ํ์ i๋ฒ์งธ ํ (1 โฆ i โฆ H) ์๋ W๋ฌธ์์ ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ค. W ๊ฐ์ ๋ฌธ์ ์ค j๋ฒ์งธ ๋ฌธ์ (1 โฆ j โฆ W) ๋, ๊ตฌ์ญ (i, j) ์ ์ง๊ธ ๊ตฌ๋ฆ์ด ๋ ์๋์ง ์๋์ง๋ฅผ ๋ํ๋ธ๋ค. ๊ตฌ๋ฆ์ด ์๋ ๊ฒฝ์ฐ์๋ ์์ด ์๋ฌธ์ 'c' ๊ฐ, ๊ตฌ๋ฆ์ด ์๋ ๊ฒฝ์ฐ์๋ ๋ฌธ์ '.' ๊ฐ ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ถ๋ ฅ์ H ํ์ผ๋ก, ๊ฐ ํ์๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ W ๊ฐ์ ์ ์๋ฅผ ์ถ๋ ฅํ๋ค. ์ถ๋ ฅ์ i ๋ฒ์งธ ํ j ๋ฒ์งธ ์ ์ (1 โฆ i โฆ H, 1 โฆ j โฆ W) ๋, ์ง๊ธ๋ถํฐ ๋ช ๋ถํ์ ์ฒ์์ผ๋ก ๊ตฌ์ญ (i, j) ์ ๊ตฌ๋ฆ์ด ๋จ๋์ง๋ฅผ ํ์ํ๋ค. ๋จ, ์ฒ์๋ถํฐ ๊ตฌ์ญ (i, j) ์ ๊ตฌ๋ฆ์ด ๋ ์์๋ ๊ฒฝ์ฐ์๋ 0์, ๋ช ๋ถ์ด ์ง๋๋ ๊ตฌ๋ฆ์ด ๋จ์ง ์์ ๊ฒฝ์ฐ์๋ -1์ ์ถ๋ ฅํ๋ค.
์์
์ฑ๊ณต ํ์ด
let HW = readLine()!.split { $0 == " " }.map { Int($0)! }, H = HW[0], W = HW[1]
for _ in 0..<H {
var w = Array(readLine()!)
var result = Array(repeating: -1, count: W)
var count = 0
while !w.allSatisfy({ $0 == "." }) {
for i in 0..<W {
if w[i] == "c" && result[i] == -1 {
result[i] = count
}
}
count += 1
w.insert(".", at: 0)
w.removeLast()
}
print(result.map { String($0) }.joined(separator: " "))
}
ํ์ด ํค์๋
- H X W ํฌ๊ธฐ์ ๊ฐ๊ฐ -1์ด ๋ค์ด์๋ ๋ฐฐ์ด์ ๋ง๋ค์ด ์ค๋๋ค. ์ด ๋ฐฐ์ด์ ์ ๋ต์ ์ถ๋ ฅํ๋ ๋ฐฐ์ด๋ก ๊ตฌ๋ฆ์ด ์ง๋์น์ง ์์ผ๋ฉด -1 ๊ทธ๋๋ก ์๊ฒ ๋์ง๋ง ๊ตฌ๋ฆ์ด ์ง๋๊ฐ ์๋ฆฌ๋ ๊ตฌ๋ฆ์ด ๋์ฐฉํ ์๊ฐ์ด ๋ค์ด๊ฐ๊ฒ ๋ฉ๋๋ค.
'๐ค ์๊ณ ๋ฆฌ์ฆ > BAEKJOON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] ๋ฐฑ์ค - 2852๋ฒ: NBA ๋๊ตฌ (2) | 2023.07.26 |
---|---|
[swift] ๋ฐฑ์ค - 19941๋ฒ: ํ๋ฒ๊ฑฐ ๋ถ๋ฐฐ (0) | 2023.07.25 |
[swift] ๋ฐฑ์ค - 1758๋ฒ: ์๋ฐ์ ๊ฐํธ (0) | 2023.07.24 |
[swift] ๋ฐฑ์ค - 7562๋ฒ: ๋์ดํธ์ ์ด๋ (0) | 2023.07.22 |
[swift] ๋ฐฑ์ค - 5800๋ฒ: ์ฑ์ ํต๊ณ (0) | 2023.07.20 |