https://programmers.co.kr/learn/courses/30/lessons/42898
1. 전체 코드
def solution(m, n, puddles):
graph = [[0] * m for _ in range(n)]
for i in range(1, m):
graph[0][i] = 1
for i in range(1, n):
graph[i][0] = 1
for x, y in puddles:
graph[y - 1][x - 1] = 'p'
for i in range(1, m):
if graph[0][i] == 'p':
for j in range(i, m):
graph[0][j] = 'p'
break
for i in range(1, n):
if graph[i][0] == 'p':
for j in range(i, n):
graph[j][0] = 'p'
break
for i in range(1, n):
for j in range(1, m):
if graph[i][j] == 'p':
continue
up = graph[i - 1][j]
left = graph[i][j - 1]
if up == 'p':
up = 0
if left == 'p':
left = 0
graph[i][j] = up + left
return graph[n-1][m-1] % 1000000007