📖문제
정수 N이 입력되면 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포함되는 모든 경우의 수를 구하는 프로그램을 작성하시오.
입력 조건
- 첫째 줄에 정수 N이 입력된다. (0 <= N <= 23)
출력 조건
- 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포함되는 모든 경우의 수를 출력한다.
My answer
h=int(input())
answer=0
for i in range(h+1):
if('3' in str(i)):
answer+=60*60
continue
for j in range(60):
if('3' in str(j)):
answer+=60
continue
for k in range(60):
if('3' in str(k)):
answer+=1
print(answer)
Another answer
# 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)
이 또한 구현 문제중 완전탐색에 해당하는 문제로 단순하게 모든 시각을 돌면서 3이 포함되는지 확인하면 되는 문제였다.
나는 중간중간 continue를 통해서 건너뛰도록 해줬는데, 교재 풀이에서는 그냥 모든 시각을 전부 순회했다. 이 문제 같은 경우에는 시간제한에 걸리지 않기 때문에 단순하게 모든 시각을 돌아도 될 것 같다. 00시부터 24시 모든 시각을 순회해더 86400(24 x 60 x 60)밖에 되지 않는다.
728x90
반응형
'코딩테스트 > 이것이취업을위한코딩테스트다[Python]' 카테고리의 다른 글
왕실의 나이트-[이것이 취업을 위한 코딩 테스트다] (0) | 2023.09.04 |
---|---|
1이 될 때까지-[이것이 취업을 위한 코딩 테스트다] (0) | 2023.09.04 |
숫자 카드 게임-[이것이 취업을 위한 코딩 테스트다] (0) | 2023.09.04 |
큰 수의 법칙-[이것이 취업을 위한 코딩 테스트다] (0) | 2023.09.04 |
상하좌우-[이것이 취업을 위한 코딩 테스트다] (0) | 2023.09.04 |