๐ŸŒŸ [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Lv.0] ์•ˆ์ „์ง€๋Œ€

Lainlnyaยท2023๋…„ 2์›” 21์ผ
0

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

๋ชฉ๋ก ๋ณด๊ธฐ
32/49
post-thumbnail

๋ฌธ์ œ ์„ค๋ช…

์ œํ•œ ์‚ฌํ•ญ

  • board๋Š” n * n ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.
  • 1 โ‰ค n โ‰ค 100
  • ์ง€๋ขฐ๋Š” 1๋กœ ํ‘œ์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • board์—๋Š” ์ง€๋ขฐ๊ฐ€ ์žˆ๋Š” ์ง€์—ญ 1๊ณผ ์ง€๋ขฐ๊ฐ€ ์—†๋Š” ์ง€์—ญ 0๋งŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

๋ฌธ์ œ ํ’€์ด

function solution(board) {
  let answer = 0;
  const dx = [-1, -1, -1, 0, 0, 1, 1, 1];
  const dy = [-1, 0, 1, -1, 1, -1, 0, 1];
  const bombs = [];
  for (let i = 0; i < board.length; i++) {
    for (let j = 0; j < board.length; j++) {
      if (board[i][j] === 1) bombs.push([i, j]);
    }
  }

  bombs.forEach(([x, y]) => {
    for (let i = 0; i < 8; i++) {
      const nx = x + dx[i];
      const ny = y + dy[i];

      if (0 <= nx && nx < board.length && 0 <= ny && ny < board.length) {
        board[nx][ny] = 1;
      }
    }
  });

  for (let i = 0; i < board.length; i++) {
    for (let j = 0; j < board.length; j++) {
      if (board[i][j] === 0) answer++;
    }
  }
  return answer;
}
profile
Growing up

0๊ฐœ์˜ ๋Œ“๊ธ€