본문 바로가기
HACKERRANK/CODE

[HACKERRANK] - DFS: Connected Cell in a Grid

by 나른한 사람 2021. 2. 7.

www.hackerrank.com/challenges/ctci-connected-cell-in-a-grid/problem

 

DFS: Connected Cell in a Grid | HackerRank

Find the largest connected region in a 2D Matrix.

www.hackerrank.com

DFS 문제.

 

<My Solution>

def maxRegion(grid):
    maxR = 0
    for y in range(len(grid)):
        for x in range(len(grid[0])):
            if grid[y][x] == 1:
                maxR = max(maxR, 1+search(grid,y,x))
    return maxR
def search(grid, y,x):
    grid[y][x] = 2
    xway,yway = [-1,0,1],[-1,0,1]
    res = 0
    print(y,x)
    for dy in yway:
        for dx in xway:
            if  dy+y<0 or dx+x<0 or dy+y>=len(grid) or dx+x>=len(grid[0]) or\
                grid[dy+y][dx+x] != 1: continue
            res += 1+search(grid,y+dy,x+dx)
    return res

댓글