[문제]
- N이 입력되면, 00시00분00초부터 N시00분00초까지 모든 시각중에서 3이 하나라도 포함되는 모든 경우의수를 구하는 프로그램을 구성한다.
- N 으로 5 가 입력되면, 00시00분00초부터 05시00분00초까지 3이 하나라도 포함되는 모든 경우의수를 구하는 프로그램이다.
[코드]
n=5
result = 0
for i in range(n+1):
for j in range(60):
for k in range(60):
if '3' in str(i)+str(j)+str(k):
result += 1
print(result)
[아이디어]
- XX시 YY분 ZZ초 를 문자열로 봐버린다.
- 결국 000000, 000001 ..... 000058, 000059, 000100, 000101, ..... 000159, 000200, 000201 .......문자열에서 '3' 이 포함되어있는지를 보면 된다.
if '3' in str(i)+str(j)+str(k):
result += 1
- 파이썬이라 가능해보이는 코드이다. 다른언어에서 구현하라고하면 당황할듯하다.
- 구현하고나니 간단하지만 아이디어가 바로 생각나지않는 생각보다 난해한 문제이다.
'# 알고리즘 > 이것이 취업을 위한 코딩 테스트다 with 파이썬' 카테고리의 다른 글
[구현] 왕실의 나이트 (0) | 2022.08.01 |
---|---|
[구현] 상하좌우 (0) | 2022.08.01 |
[그리디] 1이 될 때까지 (0) | 2022.08.01 |
[그리디] 숫자 카드 게임 (0) | 2022.07.31 |
[그리디] 큰 수의 법칙 (0) | 2022.07.31 |