-
[프로그래머스] 등굣길ALGORITHM/PROGRAMMERS 2021. 8. 11. 11:11
https://programmers.co.kr/learn/courses/30/lessons/42898
2021-08-11
123456789101112131415161718192021222324class Solution {static int[] dx = {-1, 0};static int[] dy = {0, -1};public int solution(int m, int n, int[][] puddles) {int[][] arr = new int[n][m];for(int i = 0; i < puddles.length; i++) {arr[puddles[i][1] - 1][puddles[i][0] - 1] = -1;}arr[0][0] = 1;for(int i = 0; i < n; i++) {for(int j = 0; j < m; j++){if((i == 0 && j == 0) || arr[i][j] == -1) continue;for(int k = 0; k < dx.length; k++) {int nx = i + dx[k];int ny = j + dy[k];if(nx < 0 || ny < 0 || nx >= n || ny >= m || arr[nx][ny] == -1) continue;arr[i][j] += (arr[nx][ny] % 1000000007);}}}return arr[n-1][m-1] % 1000000007;}}cs #문제풀이
오른쪽과 아래로만 갈 수 잇어서, 왼쪽과 위만 체크하면서 진행했다.
맨 마지막에 정답 리턴하기 전에 % 해주지 않으면 효율성 터진다...
그리고 puddles 값 받을 때 n과 m 주의 해야한다
'ALGORITHM > PROGRAMMERS' 카테고리의 다른 글
[프로그래머스] 섬 연결하기 (0) 2021.08.14 [프로그래머스] 이중우선순위큐 (0) 2021.08.11 [프로그래머스] 단어 변환 (0) 2021.08.11 [프로그래머스] 위클리 챌린지 2주차 (0) 2021.08.09 [프로그래머스] 위클리 챌린지 1주차 (0) 2021.08.09