인프런 커뮤니티 질문&답변

Taejun님의 프로필 이미지
Taejun

작성한 질문수

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

2차원 DP

2차원 DP 1937

해결된 질문

작성

·

225

2

#1937

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

답변 2

4

코딩 센세님의 프로필 이미지
코딩 센세
지식공유자

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

 

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

 

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

0

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

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

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

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

Taejun님의 프로필 이미지
Taejun

작성한 질문수

질문하기