*문제 출처는 프로그래머스에 있습니다.
문제 제목: 등굣길 (3단계)
문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/42898
문제 설명
나의 풀이
def solution(m, n, puddles):
answer = 0
puddles = [[q, p] for [p, q] in puddles]
dp = [[0] * (m + 1) for i in range(n + 1)]
dp[1][1] = 1
for i in range(1, n + 1):
for j in range(1, m + 1):
if i == 1 and j == 1:
continue
if [i, j] in puddles:
dp[i][j] = 0
else:
dp[i][j] = (dp[i - 1][j] + dp[i][j - 1]) % 1000000007
return dp[n][m]
※ 알아야 할 것
puddles의 좌표를 바꾸는 발상이 떠오르지 않아서 고생을 많이 했다. 좌표를 이용해서 푸는 문제들은 좌표를 [1][1]로 고정을 해서 푸는게 더 좋다는 사실을 알게되었다.
'코딩테스트(프로그래머스 & 백준) > 프로그래머스-Python' 카테고리의 다른 글
Programmers / 소수 찾기 / Python (0) | 2024.05.13 |
---|---|
Programmers / 숫자 변환하기 / Python (0) | 2024.05.11 |
Programmers / 택배상자 / Python (0) | 2024.05.07 |
Programmers / 최고의 집합 / Python (0) | 2024.05.06 |
Programmers / 야근 지수 / Python (0) | 2024.05.03 |