"Challenge 몇몇 문제는 백트래킹이 필요할 수도 있는데 Challenge가 아닌 문제들은 컴프1 과정 내에서 충분히 풀 수 있도록 했습니다."
Challenge 문제를 제외하고는 DFS 같은 거 안 써도 잘 풀 수 있다고 말씀해 주신 게 엊그제 같은데 이번에도 어김없이 'DFS' 해버렸습니다...
이런 질문을 해도 괜찮을지는 모르겠는데요, 이거 어떻게 풀어야 하나요?
맨날 막힐 때마다 '아몰랑 DFS로 돌파!' 하니까 실력이 안 느는 것 같아서요...
오... DFS 좋죠 지금 방법도 나쁘지 않아요
제가 의도했던 방식은 세로로 쪼개거나 가로로 쪼갰을 때와 가로로 쪼갰을 때를 전부 확인해보면서 최솟값을 찾는 것이었습니다
func(x,dy)+func(x,y-dy) // dy는 1부터 y 사이 임의의 값
func(dx,y)+func(x-dx,y) // dx는 1부터 x 사이 임의의 값
이걸 모든 x, y쌍들에 대해 배열로 저장해두고 계산하면 속도가 매우 빨라지는데 Dynamic Programming은 컴프1에서 배우지 않으므로 이 문제는 재귀함수만 사용해도 되도록 했습니다.
DP버전은 4582번에 Challenge로 따로 만들어 두었어요 감사합니다