문제풀이/구현

[파이썬] [구현] 시각

승무_ 2021. 12. 22. 14:07

문제 정의

정수 N이 입력되면 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포함되는 모든 경우의 수를 구하는 프로그램을 작성하시오. 예를 들어 1을 입력했을 때 다음은 3이 하나라도 포함되어있으므로 세어야하는 시각이다.

- 00시 00분 03초

- 00시 13분 30초

 

반면 다음은 3이 하나도 포함되어있지 않으므로 세면 안되는 시각이다.

- 00시 02분 55초

- 01시 27분 45초

 

 

입력

첫째 줄에 정수 N이 주어진다.(1 ≤ N ≤ 23)

 

 

출력

00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포함되는 모든 경우의 수를 출력한다.

 

예제 입력 1

5

예제 출력 1

11475

접근방법

1.이 문제의 총 경우의 수가 24*60*60이라는것을 인지한다.

2.총 경우의 수가 86,400밖에 안되므로 1부터 전부 대입해서 접근한다.

 

 

코드

n=int(input())

count=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):
                count+=1
                
print(count)

 

생각 정리

if문 문법 내용이 약간 부족하다는 것을 느꼈다.