예제 <4-2> 시각
정수 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
출력 예시
11475
소스코드
N = int(input())
count = 0
for i in range(N + 1):
for j in range(60):
for k in range(60):
time = str(i) + str(j) + str(k)
if '3' in time:
count += 1
print(count)
해설
00시 00분 00초부터 23시 59분 59초까지의 모든 경우는 86,400가지이다.
전체 데이터의 개수가 100만 개 이하일 때 완전 탐색을 사용하면 적절하다.
'파이썬 Python' 카테고리의 다른 글
[구현] 구현 예제 : 상하좌우 / 코딩테스트 / 파이썬 (0) | 2021.08.03 |
---|---|
[파이썬] 최대공약수 / 최소공배수 (0) | 2021.07.29 |
[진수 / 진법] 10진수(decimal) / 2진수(binary) / 8진수(octal) / 16진수(hexadecimal) / 변환 / 파이썬 (0) | 2021.07.29 |
[알고리즘] 최단 경로 : 특정 지점까지 가장 빠르게 도달하는 방법을 찾는 알고리즘 / 다익스트라(Dijkstra) 알고리즘/ 개선된 다익스트라 알고리즘 / 파이썬 (0) | 2021.07.27 |
[파이썬 Python] 정렬 라이브러리 / sorted() , sort() , key 값 (0) | 2021.06.15 |