count의 시간복잡도는 O(n)입니다. 길이만큼 시간이 걸리죠. 그런데 저렇게 코드를 짜면 길이가 n이면 count를 n번 쓰게되니 결국 시간복잡도가 O(n^2)이 됩니다. 길이가 1일때 시간이 1걸리던것이 길이가 100이면 시간이 100^2=10000,길이가 1000000 이면 시간이(10^6)^2=10^12배 걸립니다.
또 반복문에서 word.count(word[i])가 계속 반복해서 쓰이는데 따로 저장을 안해두니 count가 나올 때마다 다시 셉니다. wordnum=word.count(word[i])처럼 한번만 계산해두고 wordnum을 쓰는게 좋을 것 같네요.
wodus0129 3년 전
다음과 같이 작성했는데 시간초과가 발생합니다.
무엇이 문제인가요?