https://school.programmers.co.kr/learn/courses/30/lessons/42898
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
def solution(m, n, puddles):
dp = [[0] * (m+1) for _ in range(n+1)]
dp[1][1] = 1
for i, j in puddles: # 웅덩이는 -1
dp[j][i] = -1
for i in range(1, n+1):
for j in range(1, m+1):
if i == 1 and j == 1: # 시작위치 제외
continue
if dp[i][j] == -1: # 웅덩이라면?
dp[i][j] = 0
else:
dp[i][j] = dp[i][j-1] + dp[i-1][j] # 왼쪽, 위 dp값 모두 더함(오른쪽, 아래로만 갈 수 있으므로)
return dp[n][m] % 1000000007
- dp가 어렵다!!!
- 왼쪽 값, 위 값을 누적해서 더해가는 방식 -> 역발상
- for 문을 돌다가 continue를 만나면 for문의 다음 반복을 시작함(continue아래에 있는 코드 실행x)
'프로그래머스' 카테고리의 다른 글
프로그래머스 92341. 주차 요금 계산 (0) | 2023.11.09 |
---|---|
프로그래머스 72413. 합승 택시 요금 (0) | 2023.11.08 |
프로그래머스 42883. 큰 수 만들기 (0) | 2023.11.02 |
86971. 전력망을 둘로 나누기 (0) | 2023.10.31 |
프로그래머스 118666. 성격 유형 검사하기 (0) | 2023.10.27 |