Unique path
203
작성한 질문수 9
마지막 return 이 왜 map[m-1][n-1]인지 모르겠습니다.
과정 중에서
int[][] map = new int[m][m];
for (int i = 0; i < m; i++) {
map[i][0] = 1;
}
for (int i = 0; i < n; i++) {
map[0][i] = 1;
}
// 2
for (int i = 1; i < m; i++) {
for (int j = 1; j < n; j++) {
map[i][j] = map[i - 1][j] + map[i][j - 1];
}
}
이과정은 이해가 되는데 마지막에 map[3][2] 를 구한다햇을때
return map[2][1]; 을 리턴하게되면 답이안나올거같은데....
답변 1
1
안녕하세요~
정말 열심히 하시는군요~!! 꼭 좋은 소식 기대하겠습니다~
이번문제는 이차원배열이라서 헷갈릴수 있습니다. (2차원 어레이는 코딩셤에 정말 많이 나옵니다. 리스트 변환도 가능해야함)
이차원배열이 헷갈릴때는 일일이 다 그려 보는게 편합니다.
좌표마다 값을 다 체크해보세요. 저는 아예 프린트를 이용해서 호출 전후 좌표와 좌표값을 정확히 파악하는걸 추천드립니다.
그래야 나중에 안 헷갈립니다.
여기 문제중에 Graph(dfs&bfs) 관련된 문제보면 print 함수를 직접해서 위치를 정확히 파악하고 있으니 참고 부탁드립니다.
질문주신 내용관련 프린트 함수 추가했습니다.
1. 결과값
map[0][0] 1 map[0][1] 1
map[1][0] 1 map[1][1] 2
map[2][0] 1 map[2][1] 3
map[2][1]
3
2. 코드에 프린트함수 추가
public static int uniquePaths(int m, int n) {
Integer[][] map = new Integer[m][n];
for(int i=0; i<m; i++) {
map[i][0] = 1;
}
for(int i=0; i<n; i++) {
map[0][i] = 1;
}
for(int i=1; i<m; i++) {
for(int j=1; j<n; j++) {
map[i][j] =map[i][j-1]+map[i-1][j];
}
}
print(map);
System.out.println("map["+(m-1)+"]["+(n-1)+"]");
return map[m-1][n-1];
}
public static void print(Integer[][] map) {
for(int i=0; i<map.length; i++) {
for(int j=0; j<map[i].length; j++) {
System.out.print("map["+i+"]["+j+"] "+map[i][j]+" ");
}
System.out.println();
}
}
강의자료에 나오는 m과 n의 범위가 코딩하고 다른거 같습니다
0
255
0
나선형매트릭스 깃허브에 코드가 없는것같아요
0
210
0
로그 파일의 데이터 재정렬 코드가 깃허브에 없어요!
0
225
0
새로 생긴 기초강의 질문드려요
1
376
1
질문드립니다
1
220
1
Unique Paths Integer 질문입니다
0
220
1
subString 방법으로 문제 풀이 영상은 짤린건가요?
1
253
1
DFS 방식으로 푼 것이 맞나요?
0
310
2
질문드립니다~
0
197
1
left if문에 대해서
1
257
1
오타 인가요?
1
238
1
안녕하세요 강사님
1
190
1
질문 드립니다
0
173
2
Queue&Stack 문제해설집 문의
0
184
1
문제분석 로직 질문
1
231
1
시간 복잡도 문의드립니다.
1
233
1
시간복잡도 질문드립니다.
1
203
1
for-each 문 질문있습니다!
0
295
1
강의영상에서 사용된 로그 메소드가 궁금합니다.
2
282
2
강의자료 + 문제 이해 관련 질문입니다
1
279
3
강사님 오류맞나요?
1
208
1
강사님 시간 복잡도에 대해서 질문드립니다.
1
174
1
질문입니다.
1
203
1
문제에 대한 이해
1
314
1





