Your question is Count Islands in Messenger Grid. Start with the requirements on the right.
Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.
In a simplified Meta Messenger map, a 2D grid represents water and land, where '1' is land and '0' is water. Count how many distinct islands exist.
An island is a group of horizontally or vertically adjacent land cells. Cells connected diagonally do not belong to the same island.
Write a function that takes grid, a list of lists of single-character strings ('0' or '1'), and returns an integer: the number of islands.
def num_islands(grid):