count를 사용하면 어떨까
if count(3) >= 1 이면 cnt += 1
~>아니 시간복잡도 너무 커서 시간줄이는 법 없나 해보려고 30분 고민했는데
동빈나 솔루션 코드랑 똑같음 ㅡㅡ
''' 1차적으로 푼 - 시간복잡도 O(n^3)인데 더 빨리하는 법 없나? '''
import time
def sol(n):
cnt = 0
for i in range(n+1):
for j in range(60):
for z in range(60):
tmp = str(i) + str(j) + str(z)
if tmp.count('3') >= 1: cnt += 1
return cnt
start = time.time()
print(sol(int(input())))
print("time : ", time.time() - start)
''' 동빈나 솔루션 - in 사용 '''
import time
def sol(n):
cnt = 0
for i in range(n+1):
for j in range(60):
for z in range(60):
if '3' in str(i) + str(j) + str(z): cnt += 1
return cnt
start = time.time()
print(sol(int(input())))
print("time : ", time.time() - start)