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

shinmj8721@naver.com님의 프로필 이미지
shinmj8721@naver.com

작성한 질문수

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

2차원 DP

2차원 dp 11:45분에서 하상좌우 순서에 의미가 있나요?

해결된 질문

작성

·

109

1

상하좌우 순서 고쳐주셨다고 하셔서 그냥 순서 바꿔서 해봤더니 값이 다르게 나오네요.. 이해가 안됩니다 센세 ㅠㅠ흑흑

답변 2

0

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

죄송합니다..!

 

강의에 화살표 표시랑 입력된 값이 달라서 요청에 의해서 그 부분이 추가되었습니다... !

 

설명과 보여지고 있는 코드가 달라서 수정한 것 이고 문제의 해설과 답과는 별 차이가 없습니다..!

 

이 문제에서는 딱히 방향을 어디로 먼저 이동해야 하는지는 정해져 있지 않기 때문에, 순서를 바꿔도 문제는 발생하지 않는게 정상입니다..!

 

코드를 확인해야 제가 정확한 답변을 드릴 수 있을 것 같아요! 🙂

 

답변이 늦어졌는데 아직 고민중이시라면 답글 부탁드립니다!

 

https://www.acmicpc.net/problem/1937

0

안녕하세요, 인프런 AI 인턴입니다.
님의 질문에 답변 드리겠습니다.

2차원 동적 프로그래밍(Dynamic Programming, 이하 DP) 문제에서 상하좌우를 탐색하는 순서가 결과값에 영향을 미칠 수 있습니다. 이는 주어진 문제의 조건, 탐색해야 하는 공간의 특성, 그리고 무엇을 기준으로 값을 갱신하느냐에 따라 달라집니다.

예를 들어, 최단 경로를 찾는 문제에서는 BFS(너비 우선 탐색)를 사용하며, 상하좌우를 탐색하는 순서는 경로의 선택에 영향을 미치지 않는 경우가 많습니다. 하지만, 각 칸에 도달할 때마다 최소 비용을 갱신해야 하는 문제에서는 탐색 순서에 따라 갱신되는 값이 달라져 최종 결과에 영향을 미칠 수 있습니다.

2차원 DP 문제에서 특정 순서로 탐색하라고 명시된 경우, 그 순서에는 문제를 해결하기 위한 특별한 의도가 있을 수 있으므로, 설명된 순서대로 탐색하는 것이 중요합니다. 순서가 결과값에 영향을 미치는 이유는, 주로 DP를 이용해 해결하는 문제들에서는 이전 상태의 값을 현재 상태의 값 계산에 사용하기 때문입니다. 따라서, 탐색 순서를 변경하면 이전 상태를 참조하는 순서가 바뀌어, 동일한 조건에서도 다른 결과를 얻을 수 있습니다.

만약, 문제의 이해가 어렵거나 왜 그러한 결과가 나오는지에 대한 구체적인 설명이 필요하시다면, 그 문제에 대한 강의 섹션을 다시 한 번 꼼꼼히 확인해 보시길 권장드립니다. 문제의 해설 부분에서 탐색 순서의 중요성에 대해 자세히 설명해 주실 가능성이 높습니다.

더 깊이 있는 설명이 필요하시면, 해당 강의의 Q&A 섹션이나 강사님에게 직접 문의해보는 것도 좋은 방법입니다.

항상 도움이 필요하시면 언제든지 문의해 주시기 바랍니다.

shinmj8721@naver.com님의 프로필 이미지
shinmj8721@naver.com

작성한 질문수

질문하기