๐ ๋ฌธ์
๋ค์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ง๋ขฐ๊ฐ ์๋ ์ง์ญ๊ณผ ์ง๋ขฐ์ ์ธ์ ํ ์, ์๋, ์ข, ์ฐ ๋๊ฐ์ ์นธ์ ๋ชจ๋ ์ํ์ง์ญ์ผ๋ก ๋ถ๋ฅํฉ๋๋ค.
์ง๋ขฐ๋ 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ํฉ๋๋ค.
๐ง ํ์ด
function solution(board) {
// ์ ๋ต์ ๋ด์ ๋ณ์ ์ ์ธ
let answer = 0;
// 1์ด ์๋ ์ขํ ๊ธฐ์ค์ผ๋ก ์ํ์ง์ญ์ -1๋ก ๋ณํํจ
for (let i = 0; i < board.length; i++) {
for (let j = 0; j < board.length; j++) {
if (board[i][j] === 1) {
for (let k = -1; k <= 1; k++) {
for (let l = -1; l<= 1; l++) {
if (board[i+k] && board[j+l] && board[i+k][j+l] === 0) {
board[i+k][j+l] = -1;
}
}
}
}
}
}
// ๋ค์ 2์ฐจ์ ๋ฐฐ์ด์ ํ์ํ๋ฉด์ 0์ ๊ฐฏ์๋ฅผ ์ฐพ์
for (let i = 0; i < board.length; i++) {
for (let j = 0; j < board.length; j++) {
if (board[i][j] === 0) {
answer += 1;
}
}
}
return answer;
}
'๐งฉ Algorithm > ๐ง JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์ธ๊ณ์ด ์ฌ์ (1) | 2023.04.17 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์ผ๊ฐํ์ ์์ฑ์กฐ๊ฑด (2) (0) | 2023.04.17 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์จ์ด์๋ ์ซ์์ ๋ง์ (2) (0) | 2023.04.17 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๋คํญ์ ๋ํ๊ธฐ (0) | 2023.04.17 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ต๋๊ฐ ๋ง๋ค๊ธฐ (2) (0) | 2023.04.17 |