MUKER_DEV with iOS

[swift] ๋ฐฑ์ค€ - 1706๋ฒˆ: ํฌ๋กœ์Šค์›Œ๋“œ ๋ณธ๋ฌธ

๐Ÿค– ์•Œ๊ณ ๋ฆฌ์ฆ˜/BAEKJOON

[swift] ๋ฐฑ์ค€ - 1706๋ฒˆ: ํฌ๋กœ์Šค์›Œ๋“œ

MUKER 2023. 6. 18. 17:47
 

1706๋ฒˆ: ํฌ๋กœ์Šค์›Œ๋“œ

๋™ํ˜์ด๋Š” ํฌ๋กœ์Šค์›Œ๋“œ ํผ์ฆ์„ ์ข‹์•„ํ•œ๋‹ค. R×C ํฌ๊ธฐ์˜ ํฌ๋กœ์Šค์›Œ๋“œ ํผ์ฆ์„ ์ƒ๊ฐํ•ด ๋ณด์ž. ์ด ํผ์ฆ์€ R×C ํฌ๊ธฐ์˜ ํ‘œ๋กœ ์ด๋ฃจ์–ด์ง€๋Š”๋ฐ, ํผ์ฆ์„ ๋‹ค ํ’€๋ฉด ๊ธˆ์ง€๋œ ์นธ์„ ์ œ์™ธํ•˜๊ณ ๋Š” ๊ฐ ์นธ์— ์•ŒํŒŒ๋ฒณ์ด ํ•˜๋‚˜์”ฉ

www.acmicpc.net


์„ฑ๊ณต ํ’€์ด

let RC = readLine()!.split(separator: " ").map { Int($0)! }, R = RC[0], C = RC[1]
var arr = [[String]]() // ๋ฌธ์ž์—ด์„ ์ชผ๊ฐœ์„œ 2์ฐจ์› ๋ฐฐ์—ด๋กœ ์ €์žฅ
var cArr = Array(repeating: "", count: C) // ์„ธ๋กœ ๋ฌธ์ž์—ด ์ €์žฅ
var result = Set<String>() // ์œ ํšจํ•œ ๋ฌธ์ž์—ด ์ €์žฅ
for _ in 0..<R {
    let str = readLine()!
    let temp = str.split { $0=="#" }.filter { $0.count > 1 }  // "#"์„ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด์„ ๋‚˜๋ˆˆ ๋’ค count๊ฐ€ 1๋ณด๋‹ค ๋†’์€๊ฒƒ๋งŒ return
    temp.forEach { result.insert(String($0)) } // temp๋ฐฐ์—ด์— ์žˆ๋Š” ๋ฌธ์ž์—ด์„ result์— ์ถ”๊ฐ€(๊ฐ€๋กœ ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ)
    str.enumerated().forEach { cArr[$0.offset] += String($0.element) } // ๋ฌธ์ž์—ด์˜ index๋Œ€๋กœ cArr์— ์ถ”๊ฐ€(์„ธ๋กœ ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ ์ค€๋น„)
}
for i in cArr {
    let temp = i.split { $0=="#" }.filter { $0.count > 1 } // ์œ„์™€ ๊ฐ™์ด "#"์„ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ
    temp.forEach { result.insert(String($0)) } // ์„ธ๋กœ ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ
}
print(result.sorted()[0]) // ์‚ฌ์ „์ˆœ์œผ๋กœ ์ œ์ผ ์•ž์—์žˆ๋Š” ๋ฌธ์ž์—ด ์ถœ๋ ฅ