728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/42898
풀이
MN크기의 보드에 장애물이 주어지고, (1, 1)에서 (M, N)까지 가는 최단 경로의 수를 1e9 + 7로 나눈 나머지를 출력하는 문제다.
보통 좌표가 NM으로 주어지지만 여기서는 MN이다. puddles가 가지는 좌표또한 MN임을 유의하자.
puddles에는 BLOCK표시를 해주자.
( 0, 1 ) 또는 ( 1, 0 )에 1을 기입해 (1, 1)이 1을 가질 수 있도록 해주자.
dp[i][j] : ( i, j )까지 오는 최단 경로의 수
이후에는 모든 경로를 탐색하며 장애물이 없는 칸이라면 dp[i][j] = dp[i - 1][j] + dp[i][j - 1]을 통해 최단 경로의 수를 합쳐주자.
소스코드
728x90
'PS' 카테고리의 다른 글
코딩테스트에 대하여... (4) | 2024.11.22 |
---|---|
[코드트리] 행복한 수열의 개수 [Python] for 코드트리 조별과제 (0) | 2024.07.28 |
[코드트리] 최고의 33위치 [C/C++] for 코드트리 조별과제 (0) | 2024.07.21 |
[2024 KAKAO WINTER INTERNSHIP] 도넛과 막대 그래프 [Python] (0) | 2024.06.22 |
[2024 KAKAO WINTER INTERNSHIP] 가장 많이 받은 선물 [Python] (0) | 2024.06.21 |