[Programmers] 안전지대
2023. 11. 23. 14:16
func solution(_ board:[[Int]]) -> Int {
var copy = board
for i in 0...board.count-1 {
for j in 0...board.count-1 {
if board[i][j] == 1 {
if i != 0 && j != 0 {
if copy[i-1][j-1] != 1 {
copy[i-1][j-1] = 2
}
}
if i != 0 {
if copy[i-1][j] != 1 {
copy[i-1][j] = 2
}
}
if i != 0 && j+1 < board.count {
if copy[i-1][j+1] != 1 {
copy[i-1][j+1] = 2
}
}
if j != 0 {
if copy[i][j-1] != 1 {
copy[i][j-1] = 2
}
}
if j+1 < board.count {
if copy[i][j+1] != 1 {
copy[i][j+1] = 2
}
}
if i+1 < board.count && j != 0 {
if copy[i+1][j-1] != 1 {
copy[i+1][j-1] = 2
}
}
if i+1 < board.count {
if copy[i+1][j] != 1 {
copy[i+1][j] = 2
}
}
if i+1 < board.count && j+1 < board.count {
if copy[i+1][j+1] != 1 {
copy[i+1][j+1] = 2
}
}
}
}
}
var result:Int = 0
for i in 0...board.count-1 {
result += copy[i].filter { $0==0 }.count
}
return result
}
출처
728x90
'Test > Coding Tests' 카테고리의 다른 글
[Programmers] 평행 (0) | 2023.11.24 |
---|---|
[Programmers] 저주의 숫자 3 (1) | 2023.11.24 |
[Programmers] 숨어있는 숫자의 덧셈 (2) (0) | 2023.11.21 |
[Programmers] 최대값 만들기(2) (1) | 2023.11.21 |
[Programmers] 직사각형 넓이 구하기 (0) | 2023.11.20 |