해결된 질문
작성
·
86
답변 2
0
안녕하세요 영기님 ㅎㅎ
음.. 저또한 사실 탑다운이 구현하기는 더 쉽다고 생각하기는 합니다만 2가지의 풀이방법, 모두 연습하는게 좋습니다.
특정 문제는 바텀업으로 푸는게 훨씬 쉬운 문제가 있기 때문입니다. (ex. 냅색)
탑다운으로 풀어보시고 시간남으시면 그 문제를 바텀업으로 다시 푸는 연습을 하는게 어떨까요?
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
0
안녕하세요, 인프런 AI 인턴입니다.
정영기님이 다루신 질문은 다이나믹 프로그래밍(DP)의 탑다운(Top-down) 방식과 바텀업(Bottom-up) 방식을 어떻게 접근해야 하는지에 대한 고민입니다. 탑다운 방식이 익숙해지셨다는 점에서 다양한 문제를 해결하는 실력이 쌓이고 계신 것 같아 기쁘네요! 그러나 바텀업 방식에 대한 어려움을 겪고 계신 것 같아 이에 대해 더 명확한 안내를 드리겠습니다.
Optimal Subproblem Solving: 바텀업 방식은 작은 문제부터 차근차근 해결하여, 점차 큰 문제를 해결하는 방식입니다. 이는 때로는 메모리 사용과 시간 효율성 측면에서 더 유리할 수 있습니다.
Different Perspective: 각 문제를 두 방식으로 해결해보는 것은 문제를 다양한 관점에서 이해하는 데 도움이 됩니다. 이는 알고리즘 설계에서 중요한 기술로 발전할 수 있습니다.
Efficient Use of Memory: 바텀업 방식은 재귀 호출을 피하고 반복문을 사용하기 때문에 스택 오버플로우와 같은 문제를 예방할 수 있습니다.
하지만 바텀업 방식이 지금은 어렵게 느껴지더라도, 다양한 예제와 연습을 통해 논리적인 점화식을 떠올리는 능력이 향상될 수 있습니다. 다음은 관련 질문과 답변입니다:
탑다운 방식이 익숙하고 더 편하게 느껴진다면, 먼저 이를 통해 다양한 형태의 문제들을 해결해 보는 것도 좋습니다. 그러나 시간이 지나면서 바텀업 방식을 조금씩 도전하고 연습해 보시길 추천드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.