kkw564   10달 전

나름 dp로 생각해서

3나누는것, 2나누는것, 1빼는것은 총 6가지 경우의수가있으므로 그렇게 다 구해서 최솟값구하는식으로 했는데

어디서 틀린걸까요..?

onjo0127   10달 전

N이 1일때는 0을 출력해 주셔야 합니다.

onjo0127   10달 전

그리고 죄송하지만 DP가 아니네요...

제가 푼 방식을 설명드리자면 N부터 BFS로 완전탐색한 다음 메모이제이션을 사용했습니다.

kkw564   10달 전

dp라는 정확한 의미가 어떻게되나요??


제가 잘못이해하고있는건가요.. 다이나믹 프로그래밍을

kkw564   10달 전

그리고 제 코드상에는 문제가 없나요??


문제점좀 알려주세요 1일때 0 출력제외하고.. 부탁드립니다

onjo0127   10달 전

일단 코드의 문제입니다.

6가지 경우밖에 없는 것이 아니라

3 나누고 > 2 나누고 > 3 나누고 > 1 빼고

이런 경로가 최단거리일 수 있는데 코드에는 3을 처음에 다 나눠버리고, 2를 다 나눠버리고 1을 다 빼버려서 저런 경우는 처리할 수가 없습니다.



onjo0127   10달 전

다이나믹 프로그래밍은 반복적으로 배열을 사용해서 처리하는 방법과

재귀적으로 메모이제이션을 사용하는 방법이 있는데요,


제가 DP 마스터가 아니기 때문에....

정확하게 설명드릴 수 있는 수준이 아니어서요...


인터넷에서 자료를 찾아보시거나

종만북을 사시는 것도 좋습니다

댓글을 작성하려면 로그인해야 합니다.