오른쪽 아래로만 움직일 수 있기 때문에 2차 행렬을 만들어서 모두 순회한다.
그러면서 웅덩이일 때 와 아닐때를 구분하고
아닐때에는 현재 위치의 왼쪽의 값과 위쪽의 값을 더한 값을 넣어 준다
우리가 알고 있는 좌표평면과 지금 순회중인 행렬은 반대로 구성되어 있기 때문에 i,j값을 바꾼 [j,i]값이 웅덩이 행렬에 포함 되는지 확인 해야 한다.(이부분에서 헤맸다)
def solution(m, n, puddles):
answer = [[0]*(m+1) for i in range(n+1)]
answer[1][1]=1
for i in range(1,n+1):
for j in range(1,m+1):
if(i==1 and j==1):
continue
elif([j,i] in puddles):
answer[i][j]=0
else:
answer[i][j]=answer[i-1][j]+answer[i][j-1]
return answer[n][m]%1000000007
약간 소름 돋는 부분은 이문제 처음 보는 거 같았는데 나의 풀이 들어가 보니까 풀이가 한 5개는 있더라.. 뭐징.. 언제 푼거여..?