반응형
1. 문제
https://leetcode.com/problems/number-of-islands/description/
2. 코드
요소의 값이 숫자가 아니라 문자다..
/**
* @param {character[][]} grid
* @return {number}
*/
var numIslands = function(grid) {
let count = 0;
const isIsland = (i, j) => {
if (i < 0 || i >= grid.length || j < 0 || j >= grid[i].length || grid[i][j] === "0") {
return;
}
grid[i][j] = "0"; // 연결된 요소들을 전부 0 처리(for 문 내 if 문에서 걸려 탐색되지 않도록)
isIsland(i + 1, j);
isIsland(i - 1, j);
isIsland(i, j + 1);
isIsland(i, j - 1);
}
for (let i = 0; i < grid.length; i++) {
for (let j = 0; j < grid[i].length; j++) {
if (grid[i][j] === "1") {
count += 1;
isIsland(i, j);
}
}
}
return count;
};
반응형
'리트코드 > midium' 카테고리의 다른 글
[리트코드] 72. Edit Distance - js (DP) (1) | 2023.08.27 |
---|---|
[리트코드] 1143. Longest Common Subsequence - js (DP) (0) | 2023.08.25 |
[리트코드] 394. Decode String - js (0) | 2023.08.23 |
[리트코드] 17. Letter Combinations of a Phone Number - js (DFS) (0) | 2023.08.21 |
[리트코드] 875. Koko Eating Bananas - js (이진탐색) (0) | 2023.08.20 |