
격자의 크기 m, n과 물이 잠긴 지역의 좌표를 담은 2차원 배열 puddles이 매개변수로 주어집니다. 오른쪽과 아래쪽으로만 움직여 집에서 학교까지 갈 수 있는 최단경로의 개수를 1,000,000,007로 나눈 나머지를 return 하도록 solution 함수를 작성해주세요.
제한사항
격자의 크기 m, n은 1 이상 100 이하인 자연수입니다.
m과 n이 모두 1인 경우는 입력으로 주어지지 않습니다.
물에 잠긴 지역은 0개 이상 10개 이하입니다.
집과 학교가 물에 잠긴 경우는 입력으로 주어지지 않습니다.
def solution(m, n, puddles):
answer = 0
table = [[0]*(m) for _ in range(n)]
table[0][0] = 1
for pos in puddles:
y,x = pos
table[x-1][y-1] = -1
for x in range(n):
for y in range(m):
if table[x][y] != -1:
# top = table[x][y-1]
# left = table[x-1][y]
if x>0 and table[x-1][y] != -1:
table[x][y] += table[x-1][y]
if y>0 and table[x][y-1] != -1:
table[x][y] += table[x][y-1]
# print(table)
answer = table[n-1][m-1]%1000000007
return answer