우노
[Implementation] 이코테 “시각” Python 풀이 본문
문제
- 정수 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
풀이
- 시, 분, 초를 완전 탐색할 경우, 86,400(24 X 60 X 60)가지만 존재합니다.
- 따라서, 3중 반복문을 사용해 모든 시각을 완전 탐색하며,
- 각 시각을 문자열로 변환해 하나의 문자열로 만든 뒤, 해당 문자열에 ‘3’ 이 포함되어 있는지 확인합니다.
예제 코드
# h 입력받기
h = int(input())
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)
참고
- 이것이 취업을 위한 코딩 테스트다. with python
'Algorithm > Implementation' 카테고리의 다른 글
[Implementation] 이코테 “자물쇠와 열쇠” Python 풀이 (0) | 2022.08.30 |
---|---|
[Implementation] 이코테 “문자열 압축” Python 풀이 (0) | 2022.08.28 |
[Implementation] 이코테 “게임 개발” Python 풀이 (0) | 2022.06.02 |
[Implementation] 이코테 “왕실의 나이트” Python 풀이 (0) | 2022.06.01 |
[Implementation] 이코테 “상하좌우” Python 풀이 (0) | 2022.06.01 |
Comments