Search

시각

문제 : 시각

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

입력 조건

첫째 줄에 정수 N이 입력된다.(0<=N<=23)

출력 조건

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

입력 예시

5
Python

출력 예시

11475
Python

단순하게 푸는 답안

# 1. 입력 n = int(input()) # 시간 입력 # 2. 추가로 필요한 변수 cnt = 0 # 카운트에 필요한 변수 선언 및 초기화 # 3. 3이 포함되는 시각 카운트 for h in range(n+1): if h == 3 or h == 13 or h == 23: cnt += 60 * 60 else: for m in range(60): if m // 10 == 3 or m % 10 == 3: cnt += 60 else: for s in range(60): if s // 10 == 3 or s % 10 == 3: cnt += 1
Python

모범 답안

해결에 필요한 핵심 아이디어: 시각을 문자열로 변환 후 ‘3’ 포함 확인!

해결 시나리오

1.
3이 들어가는 시각 카운트
시각을 문자열로 변환 후 3이 포함되면 카운트 + 1
if '3' in str(h) + str(m) + str(s):
cnt += 1
답안

나동빈님 컨텐츠를 이용하시면 더 많고 자세한 내용을 얻을 수 있습니다.