TLE가 뜹니다

moon44432 Reply 4 years 25 weeks ago
문제나 Discuss에서의 테스트 케이스에 대해서는 잘 작동하는데 채점하면 TLE가 뜨네요 재귀로 풀면 안되는 건가요..?
withcs2 Reply 4 years 25 weeks ago
모든 계단이 0인 경우를 재귀함수로 계산한다면 1. stairs(n,0) 실행 2. 1에서 stairs(n,1) 실행 3. 1에서 stairs(n, 2) 실행 4. 2에서 stairs(n, 2) 실행 (3이랑 똑같은 과정 한번 더 반복함) ... 그래서 결론은 stairs(n, 0)이 1번, stairs(n, 1)이 2번, stairs(n, 3)이 3번, stairs(n, 4)가 5번, stairs(n, 5)가 8번, .. 함수 실행횟수가 매우 커집니다. stairs 실행될 때 top과 pos를 출력해보면 얼마나 많이 중복실행되는지 볼 수 있을거예요 재귀함수로 풀 때는 배열 arr[] 을 하나 만들어서 arr[pos]에 stairs(top, pos) 값을 저장해두고 사용하면 빠르게 풀 수 있습니다. 알고리즘 강의에서 배울 내용이니 아직은 못풀어도 괜찮습니다
moon44432 Reply 4 years 25 weeks ago
감사합니다~ 비슷한 방법으로 Stairs3은 풀었습니다 다음에 이 문제도 도전해볼게요