File tree Expand file tree Collapse file tree 2 files changed +26
-27
lines changed
Expand file tree Collapse file tree 2 files changed +26
-27
lines changed Original file line number Diff line number Diff line change 11# [ level 3] 등굣길 - 42898
22
3- [ 문제 링크] ( https://school.programmers.co.kr/learn/courses/30/lessons/42898# )
3+ [ 문제 링크] ( https://school.programmers.co.kr/learn/courses/30/lessons/42898 )
44
55### 성능 요약
66
7- 메모리: 54.6 MB, 시간: 0.48 ms
7+ 메모리: 69.7 MB, 시간: 0.60 ms
88
99### 구분
1010
1616
1717### 제출 일자
1818
19- 2025년 09월 17일 22:30:56
19+ 2025년 09월 19일 22:17:41
2020
2121### 문제 설명
2222
Original file line number Diff line number Diff line change 11import java .util .*;
22
33class Solution {
4+ boolean [][] visited ;
5+ int [] dx = {-1 ,1 ,0 ,0 };
6+ int [] dy = {0 ,0 ,-1 ,1 };
7+
48 public int solution (int m , int n , int [][] puddles ) {
5- int [][] dp = new int [m ][n ];
6- boolean [][] puddle = new boolean [m ][n ];
7- for (int [] p : puddles ) {
8- int x = p [0 ] - 1 ;
9- int y = p [1 ] - 1 ;
10- puddle [x ][y ] = true ;
11- }
12-
13- dp [0 ][0 ] = 0 ;
9+ int [][] maps = new int [n +1 ][m +1 ]; // 지도
10+ visited = new boolean [n +1 ][m +1 ];
1411
15- for (int i = 1 ; i < m ; i ++) {
16- // 가는길이 멀쩡하면 전부 1
17- if (! puddle [ i ][ 0 ]) dp [ i ][ 0 ] = 1 ;
18- else break ;
12+ for (int [] puddle : puddles ) {
13+ int px = puddle [ 0 ];
14+ int py = puddle [ 1 ] ;
15+ visited [ py ][ px ] = true ;
1916 }
2017
21- for (int i = 1 ; i < n ; i ++){
22- // 가는길이 멀쩡하면 전부 1
23- if (!puddle [0 ][i ]) dp [0 ][i ] = 1 ;
24- else break ;
18+ for (int i = 1 ; i < n +1 ; i ++) {
19+ if (visited [i ][1 ]) break ;
20+ maps [i ][1 ] = 1 ;
21+ }
22+ for (int i = 1 ; i < m +1 ; i ++) {
23+ if (visited [1 ][i ]) break ;
24+ maps [1 ][i ] = 1 ;
2525 }
2626
27-
28- for (int i = 1 ; i < m ; i ++){
29- for (int j = 1 ; j < n ; j ++){
30- if (puddle [i ][j ]) continue ;
31-
32- dp [i ][j ] = (dp [i -1 ][j ] + dp [i ][j -1 ])% 1000000007 ;
27+ for (int i = 2 ; i < n +1 ; i ++){
28+ for (int j = 2 ; j < m +1 ; j ++) {
29+ if (!visited [i ][j ]){
30+ maps [i ][j ] = (maps [i -1 ][j ] + maps [i ][j -1 ]) % 1000000007 ;
31+ }
3332 }
3433 }
3534
36- int answer = dp [ m - 1 ][ n - 1 ];
35+ int answer = maps [ n ][ m ];
3736 return answer ;
3837 }
3938}
You can’t perform that action at this time.
0 commit comments