s113488   2년 전

N=int(input())cnt=0

while True: 
     if 0<=N<10: 

            n=11*N 

            cnt=cnt+1 

     else: 

         n=(N%10+(N-N%10)/10)%10+N%10*10 

         cnt=cnt+1 

    if N==n: 

            break 

    N=n

print(cnt)

시간초과라고 결과가 나오는데 어디서 문제일까요..?

djm03178   2년 전

제출은 그냥 채점 결과를 받아보기 위한 최종 단계입니다. 제출을 해보기 전에 우선 직접 로컬에서 예제를 넣어보고 디버깅하는 연습을 해야 합니다. 이 코드는 예제 1번부터 답이 출력되지 않고 무한 루프를 돕니다.

s113488   2년 전

예제 1번이 어느 부분을 말씀하시는거죠..?

djm03178   2년 전

preview

여기 있는 것처럼 26이라는 입력을 넣었을 때 4가 나오는지 확인해 보세요.

s113488   2년 전

while문 마지막에 N=n이 있는데 왜 무한루프를 돌까요..?

djm03178   2년 전

10번째 줄에 걸려서 탈출을 하려면 처음의 N값을 알고 있어야 하는데 그 문장 때문에 계속해서 바뀐 N값만을 보게 됩니다.

s113488   2년 전

아 제가 문제를 잘못 이해하고 있었네요. 

덕분에 해결했습니다 감사합니다^^

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