시간 초과 에러 질문 드립니다.

mirphs Reply 5 years 51 weeks ago
주어진 문제에 대한 답은 나왔는데 시간 초과가 나왔습니다. 코드의 어느 부분에서 시간 초과를 발생시켰는지 알려주시면 감사하겠습니다.
onacloud Reply 5 years 51 weeks ago
재귀적으로 문제를 해결하려고 했군요. 풀이방법을 추상화하면 NumbersofProduct(n)의 문제를 (n-1)*NumbersofProduct(n-1)의 재귀호출 문제로 볼수 있겠네요 그런데 이 방법의 경우 n의 문제를 풀기 위해서 n(n-1)(n-2)(n-3)..1의 경우의 수가 생성되기 때문에 러프하게 n^n만큼의 반복을 처리해야 되요. 결국 n이 1000이면 1000^1000의 재귀적 함수 호출이 있게 되어 time limit이 뜨게 됩니다. 다이나믹 프로그래밍 알고리즘으로 해결하도록 해보세요