steampower33   4년 전

시간초과가 뜨는데 else 부분에서 재귀 과정 거칠때 너무 중복되는게 많아서 그런걸까요? 근데 저렇게 안하면 다른 방법이 없는데 예외 처리를 해야하나요?

nahwasa   4년 전

  1.  https://ideone.com/hzIyc9

ideone기준 입력 3에서도 1.98초가 걸립니다. O(N^몇승인지 잘 모르겠습니다.) 창조손해 수준입니다!

2. N이 3일때도 왜 6561까지 계산하시고 그중에 3까지만 출력하시는지 잘 모르겠습니다.

3. 최대 입력값이 2186인데 왜 6561번째까지 계산하시죠?!

4. 문제 상 최대 입력값인 2187 (3^7)에 대해서는 런타임에러가 납니다.

우선 크기를 줄여보시고, 적어도 문제에 제시된 최소값과 최대값은 넣어보셔서 되는지 확인하시는게 좋사옵니다.

5.  시간초과는 굳이 최대값인 2187보다 많은 6561까지 하셔서 그런듯하고요.  

일단 런타임에러가 나는만큼 시간초과는 별 의미가 없습니다. 애초에 안돌아가는 코드인셈이니 그 부분부터 보시는게 좋을 것 같습니다!


steampower33   4년 전

헣ㅎㅎ;; 3^8까지 인줄 알았네여 7로 바꾸니께 바로 맞아버리네용 ㅎ헤헤헤ㅔㅎ 감쟈합니당

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