03-29

임재현·2021년 3월 29일
0

코딩테스트준비

목록 보기
12/12

Number of Islands

풀이

/**
 * @param {character[][]} grid
 * @return {number}
 */
var numIslands = function (grid) {
  const traversal = (grid, i, j) => {
    if (
      i >= grid.length ||
        i < 0 ||
      j >= grid[i].length ||
        
      j < 0||
      grid[i][j] === "0"
      
    )
      return;
    grid[i][j] = "0";

    traversal(grid, i + 1, j);
    traversal(grid, i - 1, j);
    traversal(grid, i, j + 1);
    traversal(grid, i, j - 1);
  };

  let sum = 0;
  for (let i = 0; i < grid.length; i++) {
    for (let j = 0; j < grid[i].length; j++) {
      if (grid[i][j] !== "0") {
        sum++;
        traversal(grid, i, j);
      }
    }
  }
  console.log(sum);
  return sum;
};
profile
임재현입니다.

0개의 댓글

관련 채용 정보