728x90
반응형
시각
정수 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
풀이
첫 반복문 줄에서 range(n)이 아니라 range(n+1)이어야한다! n시 까지이기때문에!
그리고 반복문이 4개라 효율성면에서 걱정이 되었는데 정답답지에는
if '3' in str('i')+str('j')+str('h'):
result += 1
라는 쉬운 방법이 있었다. 역쉬 이런걸 알아가는 건 공부를 해야만 얻어갈 수 있는것같다..!
코드
n = int(input())
result = 0
for i in range(n+1):
for j in range(60):
for h in range(60):
s = str(i)+str(j)+str(h)
for k in range(len(s)):
if s[k] == '3':
result += 1
break
print(result)
728x90
반응형
'Algorithm > 이것이 취업을 위한 코딩테스트다' 카테고리의 다른 글
(실전/구현) 게임 개발 (0) | 2023.06.06 |
---|---|
(실전/구현) 왕실의 나이트 (0) | 2023.05.30 |
(예제 / 구현) 상하좌우 (0) | 2023.05.30 |
(유형별 기출/그리디) 볼링공 고르기 (0) | 2023.05.25 |
(유형별 기출/그리디) 만들 수 없는 금액 (0) | 2023.05.25 |