inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

2주만에 통과하는 알고리즘 코딩테스트 (2024년)

2차원 DP

2차원 DP 1937

해결된 질문

306

Taejun

작성한 질문수 3

2

#1937

왜 마지막에 +1 해주는거죠?

python 코딩-테스트 알고리즘

답변 2

4

코딩 센세

정답으로 요구되는건 "판다가 이동한 칸의 갯수" 인데,

 

제가 계산한건 " 판다가 이동한 횟수" 이기 때문입니다!

 

그래서 첫번째 칸을 포함해야해서 +1을 해줍니다 🙂

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.
Taejun님, 문의 주신 코드에서 + 1을 하는 이유는 문제의 특정 조건이나 알고리즘의 로직에 따라 달라질 수 있습니다. 일반적으로 2차원 DP(Dynamic Programming) 문제에서는 문제의 정의에 따라 초기값의 설정이나 계산 결과에 오프셋을 더하는 경우가 있습니다. 예를 들어, DP의 각 셀이 ‘해당 위치에 도달하는 데 필요한 최소 횟수’를 나타내고 있고, 시작점을 포함하여 횟수를 계산해야 한다면 결과값에 1을 더할 수 있습니다.

그러나 정확한 상황을 알지 못하므로, 제시된 코드만으로는 + 1의 목적을 정확히 말씀드리기 어렵습니다. 문제의 전체적인 문맥이나 초기 조건 등을 함께 확인하셔야 할 것 같습니다.

이미지에 대한 설명을 보니, dp 리스트 내에서 각 내부 리스트의 최댓값을 찾고 그 중에서 가장 큰 값을 가져와서 1을 더하는 것으로 보입니다. 이는 해당 코드가 적용된 알고리즘 특성이나, 문제에서 요구하는 추가 조건에 의해 결정되었을 가능성이 높습니다. 해당 문제가 ‘기본적인 값에 1을 더하여야 하는 특수한 경우’를 요구하거나, ‘계산 시작값의 오프셋’으로 한 것일 수 있습니다.

이해를 돕기 위해 문제의 조건이나 해당 알고리즘의 설명이 필요하면 문제를 다시 한 번 확인해 보시거나, 관련된 알고리즘에 대한 설명을 찾아보시는 것을 추천드립니다.

dp[x]가 최대값이라고 확신할수 있는 이유

0

44

1

1090번 문제 질문

0

150

1

유니온파인드

0

112

1

투포인터 25:15 질문

1

128

1

#1090번 문제 반례가 궁금합니다.

0

148

1

예제코드 자바입니다

1

186

1

정수론 파트 #2247 문제에 대한 질문입니다!

0

102

0

코드 오류

0

185

1

2강 정수론 문제3 #1407 질문

0

126

0

이차원 배열 (int형)dp로 0 혹은 -1로 체크하는 방법 말고 boolean형 배열로 체크해서 바로 리턴해줄 수 없나요?

0

154

0

1717번 최적화

0

112

0

백준 22988 문제 질문

1

193

2

[Python] 백준 1090번 문제

1

226

3

강의자료에서

1

162

2

2503 문제 제한 조건 질문!

1

249

2

백준 22988 번 문제

1

193

1

추가 강의 순서

1

180

2

(*문제 풀이)1090 테스트케이스 1번 C++

1

221

2

7강 RGB 색칠하기 질문 있습니다.

1

160

2

정수론 약수 빠르게 구하기 질문

1

257

1

1090 문제의 2, 3번째 아이디어는 결국 같은거 아닌가요?

1

373

2

1090 문제 관련하여 맨해튼 거리 최솟값에 대해 질문 있습니다.

1

223

2

누적합 문제 3번 질문

1

216

2

기억 ( 누적합 ) 강의 11660 문제

1

163

2