[프로그래머스] 등교길

박형진·2022년 1월 19일
0

https://programmers.co.kr/learn/courses/30/lessons/42898


1. 전체 코드

def solution(m, n, puddles):
    graph = [[0] * m for _ in range(n)]
    # 가로 0행 초기값
    for i in range(1, m):
        graph[0][i] = 1
    # 세로 0열 초기값
    for i in range(1, n):
        graph[i][0] = 1
    # 웅덩이('p') 값
    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

profile
안녕하세요!

0개의 댓글