250x250
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 부스트코스에이스
- 막내의막무가내 안드로이드 에러 해결
- 주택가 잠실새내
- flutter network call
- 막내의막무가내 안드로이드 코틀린
- 막내의막무가내 코틀린
- 막내의막무가내 플러터
- 2022년 6월 일상
- 안드로이드 sunflower
- 막내의막무가내 rxjava
- 막내의막무가내 프로그래밍
- 막내의막무가내 알고리즘
- 막무가내
- 막내의막무가내 목표 및 회고
- 부스트코스
- 막내의막무가내 코틀린 안드로이드
- 막내의막무가내 플러터 flutter
- 프래그먼트
- 막내의막무가내 코볼 COBOL
- 안드로이드 Sunflower 스터디
- 막내의 막무가내 알고리즘
- Fragment
- 막내의막무가내 SQL
- 프로그래머스 알고리즘
- 막내의막무가내 일상
- 주엽역 생활맥주
- 막내의막무가내
- 안드로이드
- 막내의막무가내 안드로이드
- 막내의 막무가내
Archives
- Today
- Total
막내의 막무가내 프로그래밍 & 일상
[알고리즘] 프로그래머스 등굣길 -DP- 자바 본문
728x90
programmers.co.kr/learn/courses/30/lessons/42898
프로그래머스 LV3 동적계획법(DP) 문제 등굣길을 풀어봤습니다.
집에서 학교까지 웅덩이를 피해 갈 수 있는 모든 최단 경로의 수를 구하면 되는 문제였습니다.
집은 1,1 학교는 n,m 에 있고 최단 거리만 계산하면 되므로 상하좌우가 아닌 우측과 하단으로 이동만 하면 됩니다.
row와 col 인덱스로 이루어진 이중 배열을 만들고 값으로는 해당 지점까지 오는데까지의 경로의 수를 저장하며 DP 로 풀이했습니다.
그리고 빗물이 있는데 이를 3중 배열로 표현할까 했다가 이중배열에서 값을 -1일때는 빗물로 취급하게 했습니다.
풀이는 다음과 같습니다.
[Java]
class Solution {
public int solution(int m, int n, int[][] puddles) {
// (1,1 부터 시작이여서 덜 햇갈리개 +1해서 배열크기 생성함)
int[][] dp = new int[n + 1][m + 1]; // [Row, Col] = 경우의 수(이떄 -1은 웅덩이로 취급)
for (int i = 0; i < puddles.length; i++) {
dp[puddles[i][1]][puddles[i][0]] = -1;
}
dp[1][1] = 1;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
if (dp[i][j] == -1) {
continue;
}
if (j - 1 > 0 && dp[i][j - 1] != -1) dp[i][j] += dp[i][j - 1] % 1000000007; //하단 이동
if (i - 1 > 0 && dp[i - 1][j] != -1) dp[i][j] += dp[i - 1][j] % 1000000007; //우측 이동
}
}
return dp[n][m] % 1000000007;
}
}
댓글과 공감은 큰 힘이 됩니다. 감사합니다. !!
728x90
'알고리즘 > DP' 카테고리의 다른 글
[알고리즘] 백준 11727 2×n 타일링 2 -dp- 자바 코틀린 (2) | 2021.05.11 |
---|---|
[알고리즘] 백준 9095 1, 2, 3 더하기 -DP- 자바 (0) | 2021.05.11 |
[알고리즘] 백준 11726 2xn 타일링 -dp- 자바 (0) | 2020.11.29 |
[알고리즘] 백준 9465 스티커 -dp- 자바 (0) | 2020.11.27 |
[알고리즘] 백준 1003 피보나치 함수 -dp- (0) | 2020.10.31 |
Comments