๋ฐฑ์ค - ๊ธฐ์์บ์คํฐ(Swift)
2022. 11. 10. 10:37ใAlgorithm
๋ฐฑ์ค - ๊ธฐ์์บ์คํฐ(Swift)
๋ฌธ์ ์ค๋ช
https://www.acmicpc.net/problem/10709
๋์ ํ์ด
๊ตฌ๋ฆ์ด ์ด๋ํ๋ ๊ฒ์ ๋ค์๋ฅผ ๋นผ์ฃผ๊ณ ์์ ์๋ก์ด ๊ฐ์ ์ถ๊ฐํด์ฃผ๋ ์์ผ๋ก ํํํ๋ค.
๊ทธ๋ฆฌ๊ณ ํ์ฌ๋ ์จ์ํฉ์ ์์ ํ์ํ๋ฉด์ ๊ตฌ๋ฆ์ด ์์๋ ํ ๋ฒ๋ ๊ตฌ๋ฆ์ด ์๋ค๊ฐ์ง์์ ๊ณณ์ด๋ผ๋ฉด ๊ทธ์ ๊ฐ + 1์ ํจ์ผ๋ก์จ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.
import Foundation
var timeArr = [[Int]]() // ๋์ ๋ ๊ตฌ๋ฆ์ ์ผ์
var cloudArr = [[Character]]() // ํ์ฌ ๊ธฐํ์ํฉ
let input = readLine()!.components(separatedBy:" ").map{Int($0)!}
let row = input[0], col = input[1]
for _ in 0..<row {
let rawVal = readLine()!
timeArr.append(rawVal.map{$0 == "." ? -1 : 0})
cloudArr.append(rawVal.map{$0})
}
for _ in 0..<col-1 { // ์ด์ ๊ฐ์-1๋งํผ ๊ตฌ๋ฆ์ด ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋
for r in 0..<row { // ํ์ ๊ฐ์ ๋งํผ ๊ตฌ๋ฆ ์ด๋์ํด
cloudArr[r].removeLast()
cloudArr[r].insert(".", at: 0)
}
for i in 0..<cloudArr.count {
for j in 0..<cloudArr[i].count {
if cloudArr[i][j] == "c" && timeArr[i][j] == -1 { // ํ๋ฒ๋ ๋ฐฉ๋ฌธํ์ง ์์ ๊ณณ์ด๋ฉด์ ๊ตฌ๋ฆ์ด ์๋ ๊ณณ์ด๋ผ๋ฉด
timeArr[i][j] = timeArr[i][j-1] + 1
}
}
}
}
for i in 0..<timeArr.count {
print(timeArr[i].map{String($0)}.joined(separator: " "))
}
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค - NBA๋๊ตฌ(Swift) (0) | 2022.11.10 |
---|---|
๋ฐฑ์ค - ์ค์์น ์ผ๊ณ ๋๊ธฐ(Swift) (0) | 2022.11.10 |
๋ฐฑ์ค - ๋ฑ์๊ตฌํ๊ธฐ(Swift) (0) | 2022.11.09 |
๋ฐฑ์ค - ํฌ๋ก์ค์ปจํธ๋ฆฌ(Swift) (0) | 2022.11.09 |
๋ฐฑ์ค - ๋ฉ์น(Swift) (0) | 2022.11.09 |