본문 바로가기

이것이 코딩테스트다 with 파이썬/구현

시각

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

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

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

  • 00시 02분 55초
  • 01시 27분 45초

[문제]

 

[정답]

N = int(input())
cnt = 0

# 시
for h in range(N+1):
  # 분
  for m in range(60):
    # 초
    for s in range(60):
      # 매 시각 안에 '3'이 포함되어 있다면 카운트 증가
      if '3' in str(h) + str(m) + str(s):
        cnt +=1

print(cnt)

 

[해설]

이 문제는 모든 시각의 경우를 하나씩 모두 세서 쉽게 풀  수 있는 문제이다. 하루는 86,400초(24 x 60 x60)로, 00시 00분 00 초부터

23시 59분 59초까지의 모든 경우는 86,400가지 밖에 존재하지 않는다. 그래서, 완전탐색 유형이다

'이것이 코딩테스트다 with 파이썬 > 구현' 카테고리의 다른 글

문자열 재정렬  (0) 2023.02.20
왕실의 나이트  (0) 2023.02.20
상하좌우  (0) 2023.02.20