프로그래머스. 등굣길

2024. 3. 27. 18:35코딩 테스트/프로그래머스

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

전체 코드

한승협님 코드

def solution(m, n, puddles):
    maps = [[0 for _ in range(m)] for _ in range(n)]
    for pud in puddles:
        x, y = pud
        maps[y-1][x-1] = -1
    
    maps[0][0] = 1
    for x in range(n):
        for y in range(m):
            up_ok, left_ok = [False] * 2
            if maps[x][y] == 0:
                if x >= 1 and maps[x-1][y] != -1:
                    up_ok = True
                if y >= 1 and maps[x][y-1] != -1:
                    left_ok = True
                    
                if up_ok and left_ok:
                    maps[x][y] = maps[x-1][y] + maps[x][y-1]
                elif up_ok:
                    maps[x][y] = maps[x-1][y]
                elif left_ok:
                    maps[x][y] = maps[x][y-1]
    return maps[-1][-1] % 1000000007