728x90
"이것이 코딩테스트다" 책 문제 _ 구현 문제
문제)
정수 N이 입력되면 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포함되는 모든 경우의 수를 구하는 프로그램을 작성해라.
입력 조건
- 첫째 줄에 정수 N이 입력된다.(0 <= N <= 23)
출력 조건
- 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포함되는 모든 경우의 수를 출력한다.
입력 예시) 5 |
출력 예시) 11475 |
풀이)
모든 시각의 경우의 수를 세면 가능한 문제다. 즉, 이 문제는 완전 탐색 문제이다.
시간, 분, 초를 3중 반복문을 이용하여 3이 존재하는지 확인한다.
3이 존재하는지 확인하는 방법을 생각했을 때 int로는 확인하기 어려우므로 string으로 바꾸어서 시, 분, 초를 합친 후 3이 존재하는지 확인한다.
예를 들어 03시 11분 05초의 경우 string으로 바꾸어 합치면 '3115'이므로 count 한다. (0을 꼭 포함해서 넣을 필요는 없으니까!)
N = int(input())
num = range(60)
count = 0
for i in range(N+1):
for j in num:
for k in num:
if '3' in str(i) + str(j) + str(k):
count += 1
print(count)
728x90
'코테 > Implementation(구현)' 카테고리의 다른 글
[Implementation] 백준 20207 달력 (0) | 2022.06.06 |
---|---|
[Implementation] 게임 개발 (0) | 2022.04.26 |
[Implementation] 왕실의 나이트 (0) | 2022.03.21 |
[Implementation] 상하좌우 (0) | 2022.03.17 |
[Implementation] 이론 (0) | 2022.03.17 |