강의로 돌아가기
길재우

파이썬 효율성테스트를 통과하지못하고있습니다.

def solution(n):
    k=0
    answer = 1
    primelist = [2]
    for i in range(3,n+1):
        if i==3:
            answer +=1
            primelist.append(i)            
        elif i%2==0 or i%3==0:
            continue
        elif i<10:
            answer+=1
            primelist.append(i)
            continue
        else:
            while primelist[k] <= i**0.5:
                j=primelist[k]
                if i%j==0:
                    k=0
                    break
                elif primelist[k+1] <= i**0.5:
                    k+=1
                    continue
                else:
                    k=0
                    answer+=1
                    primelist.append(i)
                    break
    return answer


이렇게 했는데 정확도는 다 통과하는데 효율성에서 계속 시간초과가 뜹니다
고쳐야 할게 있나요? ㅠㅠ

1 개의 답변
Demi

다른 분들의 팁 을 참고해보시는게 어떨까요?

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.