프로그래머스 | 등굣길

커몽·2021년 2월 2일
0

프로그래머스 level3

목록 보기
8/17

오른쪽 아래로만 움직일 수 있기 때문에 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개는 있더라.. 뭐징.. 언제 푼거여..?

0개의 댓글