시각

Polla·2023년 1월 8일
post-thumbnail

" 이것이 코딩테스트다 with 파이썬" 연습

이것이 코딩테스트다 구매링크



문제

💡 문제

정수 N이 입력되면 00시00분00초 부터 N시 59분 59초까지의 모든 시각 중에서
3이 하나라도 포함되는 모든 정수의 수를 구하는 프로그램을 작성하시오.
예를 들어 1을 입력했을 때 다음은 3이 하나라도 포함되어 있으므로
세어야 하는 시각이다.
					- 00시 00분 03초
                    - 00시 13분 30초
반면에 다음은 3이 하나도 포함되어 있지 않으므로 세면 안되는 시각이다.
					- 00시 02분 55초
                    - 00시 27분 45초

📌 입력 조건

- 첫째 줄에 정수 N이 입력된다. (0 <= N <= 23)

🔐 출력 조건

- 00시 00분 00초 부터 N시 59분 59초까지의 모든 시각 중에서 3이 하나라도
포함되는 모든 경우의 수를 출력한다.
ex)
	5  출력: 11475


🥳해결


가능한 개수를 셌을때, 적다면 간단하게 짜기 !!

이 문제는 모든 가능성을 다 합쳐도 86,400개 라는 적은 숫자여서
일일히 for문을 돌려 계산해도 됐다.


n = int(input())
ans = 0

for i in range(n+1):
 for j in range(60):
     for l in range (60):
         if '3' in str(i) + str(j) + str(l):
             ans +=1
         
print(ans)

3중 for 문을 통해서 계산 하면 된다.
처음에는 or을 썼다가, 값이 너무 크게 나와서 당황했다. (진정한 감자🥔)
하나라도 있으면 count이니 중복을 제외해야 해서 +로 연결지어야 했다.


profile
트러블 슈팅 Blog => https://polla.palms.blog/home

0개의 댓글