[구현] 시각

3596 단어 구현구현

문제

정수 N이 입력되면 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포함되는 모든 경우의 수를 구하는 프로그램을 작성하라.

조건

  • 0 \leq N \leq 23

예시

N = 1

  • 00시 00분 03초
  • 00시 00분 13초
  • 00시 13분 30초
  • 등등

N = 5

  • 출력: 11475

방법

  • 모두 세서 쉽게 풀 수 있다. 하루는 86,400초이므로 모든 경우는 86,400가지가 전부다. 경우의 수가 100,000개도 되지 않기 때문에 문자열 연산을 이용해 3이 포함되어 있는지를 확인해도 시간 제한 2초 안에 풀 수 있다.
  • 이런 유형은 완전 탐색 (Brute Force) 유형으로도 분류된다. 완전 탐색이란 가능한 경우의 수를 모두 검사해보는 탐색 방법이다.
max_hour = int(input())

count = 0 

for hour in range (max_hour+1): 
  for minute in range (60): 
    for second in range (60) : 
      if '3' in str(hour) + str(minute) + str(second): 
        count += 1 

print(count)

좋은 웹페이지 즐겨찾기