[프로그래머스 알고리즘 고득점 Kit][동적계획법(Dynamic Programming))][Java] 등굣길

2026. 4. 17. 23:39·알고리즘 & 자료구조/문제 풀이

https://school.programmers.co.kr/learn/courses/30/lessons/42898

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

현재 서 있는 곳으로 올 수 있는 방법은
1. 왼쪽에서 오른쪽으로 한칸(numOfShortestPath[x-1][y])
2. 위쪽에서 아래쪽으로 한칸(numOfShortestPath[x][y-1])
2개의 합이 현재 서 있는 곳으로 올 수 있는 경우의 수

중간 block 된 곳은 continue

이 방법을 시작 점 부터 하나씩 채워나간다.

class Solution {
    
    final int MOD = 1_000_000_007;
    
    public int solution(int m, int n, int[][] puddles) {
        long[][] numOfShortestPath = new long[m+1][n+1];
        boolean[][] blocked = new boolean[m+1][n+1];
        for(int[] p : puddles){
            blocked[p[0]][p[1]] = true;
        }
        numOfShortestPath[1][1] = 1;
        for(int x=1; x<=m; x++){
            for(int y=1; y<=n; y++){
                if(x==1 && y==1) continue;
                if(blocked[x][y]) continue;
                
                numOfShortestPath[x][y] = (numOfShortestPath[x-1][y] + numOfShortestPath[x][y-1])%MOD;
            }
        }
        return (int)numOfShortestPath[m][n];
    }
}
저작자표시 비영리 변경금지 (새창열림)

'알고리즘 & 자료구조 > 문제 풀이' 카테고리의 다른 글

[프로그래머스 알고리즘 고득점 Kit][그래프][Java] 방의 개수  (0) 2026.04.18
[프로그래머스 알고리즘 고득점 Kit][동적계획법(Dynamic Programming))][Java] 정수 삼각형  (0) 2026.04.17
[LeetCode][Java] 1768. Merge Strings Alternately  (0) 2026.04.16
[프로그래머스 알고리즘 고득점 Kit][이분탐색][Java] 징검다리  (0) 2026.03.31
[프로그래머스 알고리즘 고득점 Kit][그래프][Java] 순위  (0) 2026.03.29
'알고리즘 & 자료구조/문제 풀이' 카테고리의 다른 글
  • [프로그래머스 알고리즘 고득점 Kit][그래프][Java] 방의 개수
  • [프로그래머스 알고리즘 고득점 Kit][동적계획법(Dynamic Programming))][Java] 정수 삼각형
  • [LeetCode][Java] 1768. Merge Strings Alternately
  • [프로그래머스 알고리즘 고득점 Kit][이분탐색][Java] 징검다리
수수다
수수다
우하하
  • 수수다
    그냥살자
    수수다
  • 전체
    오늘
    어제
    • 분류 전체보기 (40) N
      • 프로젝트 (1)
      • 알고리즘 & 자료구조 (21) N
        • 내용 정리 (2)
        • 문제 풀이 (19) N
      • 데이터베이스 (14) N
        • 내용 정리 (1) N
        • 문제 풀이 (13) N
      • CS (2)
      • 기타 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 네이버 블로그
  • 공지사항

  • 인기 글

  • 태그

    mysql
    프로그래머스 알고리즘 고득점 kit
    평균회귀
    프로그래머스
    그래프
    SSAFY
    DisjointSet
    IFNULL
    알고리즘
    coalesce
    SQL
    분리집합
    바이브코딩
    유니온파인드
    유클리드호제법
    해시
    bfs
    코팅테스트
    바킹독
    동적계획법
    깊이/너비 우선 탐색(DFS/BFS)
    Java
    이분탐색
    코테
    DP
    싸피
    삼성청년SW·AI아카데미
    매개변수탐색
    코딩테스트
    HTTP 메서드
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
수수다
[프로그래머스 알고리즘 고득점 Kit][동적계획법(Dynamic Programming))][Java] 등굣길
상단으로

티스토리툴바