์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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
- dp
- ๋ถํ ์ ๋ณต
- WebApp
- ์์
- ๋นํธ์ฐ์ฐ์
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ํ๋ก๊ทธ๋๋จธ์ค
- ์๊ณ ๋ฆฌ์ฆ
- dfs
- ๋ธ๋ฃจํธํฌ์ค
- ๋ฐฑ์ค
- ์ด์งํ์
- Swift
- ios
- WebView
- ๋ฐฑํธ๋ํน
- ๋ฌธ์์ด
- SwiftUI
- ์ฝ๋ฉํ ์คํธ
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- ๋์ ํฉ
- BFS
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
- ๋ถํ ํ์
- ์คํ
Archives
- Today
- Total
MUKER_DEV with iOS
[swift] ํ๋ก๊ทธ๋๋จธ์ค - [1์ฐจ] ํ๋ ์ฆ4๋ธ๋ก ๋ณธ๋ฌธ
๐ค ์๊ณ ๋ฆฌ์ฆ/programmers
[swift] ํ๋ก๊ทธ๋๋จธ์ค - [1์ฐจ] ํ๋ ์ฆ4๋ธ๋ก
MUKER 2023. 4. 12. 13:23ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋์ ํ์ด
func solution(_ m:Int, _ n:Int, _ board:[String]) -> Int {
var blocks = board.map { $0.map { String($0) } }
let searchY = [0,1,1]
let searchX = [1,0,1]
var erased = [(Int,Int)]()
repeat {
erased = []
for cycleY in (0..<m) { // ๊ฐ์ ๋ชจ์์ 2*2๋ธ๋ก ๊ตฌํ๊ธฐ
for cycleX in 0..<n {
if blocks[cycleY][cycleX] == " " { continue }
var same = 0
for i in 0..<3 {
let newY = searchY[i] + cycleY
let newX = searchX[i] + cycleX
guard newY >= 0 && newY < m && newX >= 0 && newX < n else { continue }
let now = blocks[cycleY][cycleX]
let new = blocks[newY][newX]
if now == new { same += 1 }
}
if same >= 3 {
erased.append((cycleY,cycleX))
}
}
}
for i in erased { // ๊ฐ์ ๋ชจ์์ ๋ธ๋ก " "๋ก ๋ง๋ค๊ธฐ
blocks[i.0][i.1] = " "
for j in 0..<3 {
let y = searchY[j] + i.0
let x = searchX[j] + i.1
blocks[y][x] = " "
}
}
for cycleY in (0..<m-1).reversed() { // " "๋ธ๋ก ์๋ก ์ฌ๋ฆฌ๊ธฐ
for cycleX in 0..<n {
var count = 0
while blocks[cycleY+1+count][cycleX] == " " {
blocks[cycleY+1+count][cycleX] = blocks[cycleY+count][cycleX]
blocks[cycleY+count][cycleX] = " "
count += 1
if cycleY+1+count > m-1 { break }
}
}
}
}
while erased.count != 0;
return blocks.map { $0.filter { $0 == " " }.count }.reduce(0,+)
}
'๐ค ์๊ณ ๋ฆฌ์ฆ > programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๋ค์ ์๋ ํฐ ์ ์ฐพ๊ธฐ (0) | 2023.04.17 |
---|---|
[swift] ํ๋ก๊ทธ๋๋จธ์ค -2๊ฐ ์ดํ๋ก ๋ค๋ฅธ ๋นํธ (0) | 2023.04.13 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๋ชจ์์ฌ์ (0) | 2023.04.12 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - [3์ฐจ] ํ์ผ๋ช ์ ๋ ฌ (0) | 2023.04.10 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๋ฐฉ๋ฌธ ๊ธธ์ด (0) | 2023.04.07 |