[7/18] 시각

이경준·2021년 7월 18일
0

코테

목록 보기
71/140
post-custom-banner

구현 (113)

내 코드

n = int(input())

if (n <= 2):
    cnt = ( (45*15)+(15*60) ) * (n+1)
elif (n <= 12):
    cnt = 3600 + ( (45*15)+(15*60) ) * n
elif (n <= 22):
    cnt = 7200 + ( (45*15)+(15*60) ) * n
else:
    cnt = 10800 + ( (45*15)+(15*60) ) * n
    
print(cnt)

로직

  • 직접 3이 들어가는 경우의 수를 계산하여, 이에 맞춰서 코드를 작성했다. (노가다)

효율적인 코드

n = int(input())
cnt = 0

for i in range(n+1):
    for j in range(60):
        for k in range(60):
            if ( '3' in str(i) + str(j) + str(k) ):
                cnt += 1
                
print(cnt)

피드백

  • 3중 for문을 사용하여 풀었다. 복잡하게 경우의 수를 고려하지 않아도 된다는 장점이 있지만, 시간 복잡도는 클 것 같다.
profile
The Show Must Go On
post-custom-banner

0개의 댓글