programmers.co.kr/learn/courses/30/lessons/42898?language=java
이문제는 자주 보고 외워두는 것이 좋을 것 같다.
dp는 자주 푸는게 답인듯 하다..
그림으로 잘 설명되어있는 블로그 참고
velog.io/@ajufresh/%EB%93%B1%EA%B5%A3%EA%B8%B8
풀이방법만 알면 간단하게 풀 수 있다
효율성 테스트를 위해서 100000007로 나눠주는 것을 잊지 말아야한다!
나중에 answer 계산할때도 꼭 나눠줘야 효율성 테스트를 통과할 수 있다.
class Solution {
public int solution(int m, int n, int[][] puddles) {
int answer = 0;
int[][] route = new int[m][n];
for(int i=0;i<puddles.length;i++){
int x = puddles[i][0]-1;
int y = puddles[i][1]-1;
route[x][y]=-1;
}
route[0][0]=1;
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
if(route[i][j]== -1){
route[i][j]=0;
continue;
}
if(i!=0){
route[i][j]+=route[i-1][j]%1000000007;
}
if(j!=0){
route[i][j]+=route[i][j-1]%1000000007;
}
}
}
answer = (route[m-1][n-1])%1000000007;
return answer;
}
}
'코테 준비-문제풀기' 카테고리의 다른 글
프로그래머스 완주하지 못한 선수 - java ver (0) | 2021.08.29 |
---|---|
프로그래머스 - 그리디/ 큰 수 만들기/ 자바 /java (0) | 2020.12.01 |
프로그래머스 - 그리디/체육복/java (0) | 2020.11.17 |
프로그래머스 - 정수삼각형/ 동적계획법/ dp/ 자바/JAVA (4) | 2020.10.30 |
백준 - 일곱난쟁이 자바 JAVA (0) | 2020.10.23 |