96. 시각
-
정수
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
이 하나라도 포함되는 모든 경우의 수를 출력한다.
- 00시 00분 00초부터
1. 브루트 포스를 이용한 풀이
import time
h = int(input())
start = time.time()
count = 0
for i in range(h + 1):
for j in range(60):
for k in range(60):
#매 시각 안에 '3'이 포함되어 있다면 카운트 증가
if '3' in str(i) + str(j) + str(k):
count += 1
print(count)
print(time.time()-start)
-
완전 탐색 알고리즘은 가능한 경우의 수를 모두 검사해보는 방법으로, 완전 탐색 문제 또한 구현이 중요한 대표적인 문제 유형이다.
-
일반적으로 완전 탐색 알고리즘은 비효율적인 시간 복잡도를 가지고 있으므로 데이터 개수가 큰 경우에 정상적으로 동작하지 않을 수 있다.
-
확인해야 할 전체 데이터의 개수가 100만 개 이하일 때 완전 탐색을 사용하면 적절하다.
-
-
여기서는 매 시각을 문자열로 바꾼 다음 문자열에
'3'
이 포함됐는지 검사한다.- 03시 20분 35초일 때를 확인한다면, 이를
'032035'
로 만들어서'3'
이'032035'
에 포함되어 있는지를 체크하는 방식을 이용한다.
- 03시 20분 35초일 때를 확인한다면, 이를
Author And Source
이 문제에 관하여(96. 시각), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@corone_hi/96.-시각저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)