diff --git "a/\352\271\212\354\235\264or\353\204\210\353\271\204 \354\232\260\354\204\240 \355\203\220\354\203\211/\352\262\214\354\236\204_\353\247\265_\354\265\234\353\213\250\352\261\260\353\246\254.py" "b/\352\271\212\354\235\264or\353\204\210\353\271\204 \354\232\260\354\204\240 \355\203\220\354\203\211/\352\262\214\354\236\204_\353\247\265_\354\265\234\353\213\250\352\261\260\353\246\254.py" new file mode 100644 index 0000000..3a3e151 --- /dev/null +++ "b/\352\271\212\354\235\264or\353\204\210\353\271\204 \354\232\260\354\204\240 \355\203\220\354\203\211/\352\262\214\354\236\204_\353\247\265_\354\265\234\353\213\250\352\261\260\353\246\254.py" @@ -0,0 +1,25 @@ +from collections import deque + +def solution(maps): + dir = [(1,0),(0,1),(-1,0),(0,-1)] + + n = len(maps) + m = len(maps[0]) + + queue = deque() + queue.append((0,0)) + + while queue: + row,colum = queue.popleft() + for x,y in dir: + if row+x >= 0 and row+x < n and colum + y >= 0 and colum +y < m: + if maps[row+x][colum+y] == 1: + queue.append((row+x, colum+y)) + maps[row+x][colum+y] = maps[row][colum] + 1 + + if maps[n-1][m-1] == 1: + answer = -1 + else: + answer = maps[n-1][m-1] + + return answer \ No newline at end of file