inflearn logo
강의

講義

知識共有

コーディングテスト [ ALL IN ONE ]

[Unique Paths] 완전탐색 / DP (후반부)

解決済みの質問

104

zzzzz

投稿した質問数 192

0

[Unique Paths] 완전탐색 / DP (후반부) 강의에서 13분에서 질문있습니다. 첫 번째 행과 첫 번째 열이 모두 왜 1인가요?

만약 방향을 바꾸기 전까지 1이라고 친다면, 아래 그림 처럼 도착지에서 최대 방법이 28이 아니라 8이 되어야 하는거 아닌가요? 왜냐면 방향은 오른쪽 아래로만 이동이 가능하다고 해서 올라가거나 왼쪽은 이동이 불가능하잖아요.

조리3.png.webp

python 코딩-테스트 알고리즘

回答 1

0

friedhamn

안녕하세요. zzzzz님.

 

1. 첫 번째 행의 경우

  • 시작점 (0,0)에서 첫 번째 행의 다른 칸 (0, j)으로 가려면 오른쪽으로만 이동할 수 있습니다.

  • 오른쪽으로만 이동하는 경우, 선택의 여지가 없으므로 경로는 유일하게 1가지입니다.

  • 따라서 dp[0][j] = 1 (모든 j)가 됩니다.

2. 첫 번째 열의 경우

  • 마찬가지로, (0,0)에서 첫 번째 열의 다른 칸 (i, 0)으로 가려면 아래로만 이동할 수 있습니다.

  • 아래로만 이동하면 역시 경로는 1가지입니다.

  • 따라서 dp[i][0] = 1 (모든 i)가 됩니다.

3. 나머지 셀의 경우

  • 임의의 셀 (i, j)에 도달하는 경로의 수는,

    바로 위 (i-1, j)에서 오는 경로의 수와 왼쪽 (i, j-1)에서 오는 경로의 수의 합입니다.

  • 즉, dp[i][j] = dp[i-1][j] + dp[i][j-1]가 됩니다.

 

이 문제의 핵심은 셀에 도달할 수 있는 모든 경우의 수를 구하는 것입니다. 직접 그림을 그리면서 생각해보시면 이해가 잘 되실 겁니다.

 

추가적인 질문이 있다면 편하게 질문 바랍니다.

감사합니다.

노션 공유 링크

0

85

2

수업 중간에 내주신 문제는 해답을 알 수 없는걸까요?

0

74

2

최신 강의와 비교

0

81

2

Min Cost Climbing stairs 질문

0

74

2

노션 공유 부탁드립니다!

1

86

2

for 문에 sort 함수 를 사용하면

1

86

2

노션 공유 부탁드립니다.

0

101

2

디스코드가 올바르지 않다고 뜹니다..!

0

105

1

그래프

0

96

2

노션 공유

1

121

2

시간복잡도 질문

2

122

3

11강 질문

1

76

2

노션 공유 부탁드립니다

0

82

2

linkedList - BrowserHistory 코드 질문

0

72

1

list1.append(list2)와 list1.append(list2[:])의 차이가 무엇인가요?

1

165

1

라이브러리 사용

1

134

2

문제 교재는 따로 없는 거 맞나요?

1

200

2

LCA 관련해서 질문이 있습니다.

1

116

2

dp 계단오르기최소비용질문입니다.

0

106

1

Dynamic Array 의 size 정보가 저장되는 곳

2

159

2

노션공유가 안된듯 합니다

1

161

2

[코테 적용] 👉 [3번 문제] 완전탐색 (DFS, BFS) (전반부)

1

119

1

강의자료 만들 때 사용하신 프로그램이 뭘까요?

1

199

1

강의 처음부터 보고있는데 질문있습니다.

1

187

2