https://school.programmers.co.kr/learn/courses/30/lessons/1844
function solution(maps) {
let ans = 1;
let n = maps[0].length;
let m = maps.length;
let dx = [-1, 0, 1, 0]
let dy = [0, 1, 0, -1]
let visited = [];
for (let i=0; i<m; i++) visited.push(new Array(m).fill(false))
visited[0][0] = true
let queue = [];
queue.push([0,0])
while (queue.length) {
let [x, y] = queue.shift()
for (let i=0; i<4; i++) {
let nx = x + dx[i]
let ny = y + dy[i]
if (nx < 0 || nx >= n || ny < 0 || ny >= m) continue // 무시
if (!visited[nx][ny]) {
if (maps[nx][ny] === 1) {
ans++
} else {
queue.push([nx,ny])
visited[nx][ny] = true
}
}
}
}
console.log(visited)
console.log(ans)
}
원래 이 코드로 접근을 했다가.. 무언가 이상함을 느꼈다.
현재는 질문을 보낸 상태