๋ฐ์ํ
์์ ์ง๋
๋ฌธ์ ์ค๋ช
๋ค์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ง๋ขฐ๊ฐ ์๋ ์ง์ญ๊ณผ ์ง๋ขฐ์ ์ธ์ ํ ์, ์๋, ์ข, ์ฐ ๋๊ฐ์ ์นธ์ ๋ชจ๋ ์ํ์ง์ญ์ผ๋ก ๋ถ๋ฅํฉ๋๋ค.
์ง๋ขฐ๋ 2์ฐจ์ ๋ฐฐ์ด board์ 1๋ก ํ์๋์ด ์๊ณ board์๋ ์ง๋ขฐ๊ฐ ๋งค์ค๋ ์ง์ญ 1๊ณผ, ์ง๋ขฐ๊ฐ ์๋ ์ง์ญ 0๋ง ์กด์ฌํฉ๋๋ค.
์ง๋ขฐ๊ฐ ๋งค์ค๋ ์ง์ญ์ ์ง๋ board๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์์ ํ ์ง์ญ์ ์นธ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
์ ํ ์ฌํญ
- board๋ n * n ๋ฐฐ์ด์ ๋๋ค.
- 1 ≤ n ≤ 100
- ์ง๋ขฐ๋ 1๋ก ํ์๋์ด ์์ต๋๋ค.
- board์๋ ์ง๋ขฐ๊ฐ ์๋ ์ง์ญ 1๊ณผ ์ง๋ขฐ๊ฐ ์๋ ์ง์ญ 0๋ง ์กด์ฌํฉ๋๋ค.
์ ์ถ๋ ฅ ์
board | result |
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 0, 0, 0]] | 16 |
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 1, 1, 0], [0, 0, 0, 0, 0]] | 13 |
[[1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1]] | 0 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- (3, 2)์ ์ง๋ขฐ๊ฐ ์์ผ๋ฏ๋ก ์ง๋ขฐ๊ฐ ์๋ ์ง์ญ๊ณผ ์ง๋ขฐ์ ์ธ์ ํ ์, ์๋, ์ข, ์ฐ, ๋๊ฐ์ ์ด 8์นธ์ ์ํ์ง์ญ์ ๋๋ค. ๋ฐ๋ผ์ 16์ return ํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- (3, 2), (3, 3)์ ์ง๋ขฐ๊ฐ ์์ผ๋ฏ๋ก ์ง๋ขฐ๊ฐ ์๋ ์ง์ญ๊ณผ ์ง๋ขฐ์ ์ธ์ ํ ์, ์๋, ์ข, ์ฐ, ๋๊ฐ์ ์ ์ํ์ง์ญ์ ๋๋ค. ๋ฐ๋ผ์ ์ํ์ง์ญ์ ์ ์ธํ ์นธ ์ 13์ return ํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #3
- ๋ชจ๋ ์ง์ญ์ ์ง๋ขฐ๊ฐ ์์ผ๋ฏ๋ก ์์ ์ง์ญ์ ์์ต๋๋ค. ๋ฐ๋ผ์ 0์ return ํฉ๋๋ค.
์ ์ถ
import Foundation
func solution(_ board:[[Int]]) -> Int {
var board = board
let n = board.count
var answer = 0
for x in 0..<n{
for y in 0..<n{
if board[x][y] == 1{
if x-1 >= 0{
if y-1 >= 0 && board[x-1][y-1] == 0 { board[x-1][y-1] = -1}
if y+1 < n && board[x-1][y+1] == 0 {board[x-1][y+1] = -1}
if board[x-1][y] == 0 {board[x-1][y] = -1}
}
if x+1 < n{
if y-1 >= 0 && board[x+1][y-1] == 0 { board[x+1][y-1] = -1}
if y+1 < n && board[x+1][y+1] == 0 {board[x+1][y+1] = -1}
if board[x+1][y] == 0 {board[x+1][y] = -1}
}
if y-1 >= 0 && board[x][y-1] == 0 { board[x][y-1] = -1}
if y+1 < n && board[x][y+1] == 0 {board[x][y+1] = -1}
}
}
}
for i in 0..<n{
answer += board[i].filter{$0 == 0}.count
}
return answer
}
๋ฐ์ํ
'โจ๏ธ Language > swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค LV.0] ์ธ๊ณ์ด ์ฌ์ (0) | 2023.01.02 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค LV.0] ์ผ๊ฐํ์ ์์ฑ์กฐ๊ฑด (2) (0) | 2023.01.02 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.0] ์จ์ด์๋ ์ซ์์ ๋ง์ (2) (0) | 2023.01.02 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.0] ๋คํญ์ ๋ํ๊ธฐ (0) | 2023.01.02 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.0] ์ต๋๊ฐ ๋ง๋ค๊ธฐ (2) (0) | 2023.01.02 |