본문 바로가기

파이썬/이것이 코딩 테스트다 with 파이썬

이코테 Chapter 04 구현 - 시각

문제

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

  • 00시 00분 03초
  • 00시 13분 30초

반면에 다음은 3이 하나도 포함되어 있지 않으므로 세면 안 되는 시각이다

  • 00시 02분 55초
  • 01시 27분 45초

 

접근법 & 풀이

1. for문을 이용해서 시, 분, 초에 3이있으면 count + 1해주면되지않을까..

 

소스코드

n = int(input())

count = 0

for hour in range(n+1):
  for min in range(60):
    for second in range(60):
      if '3' in str(hour) + str(min) + str(second):
        count += 1

print(count)

 

오답노트 & 알아낸 것

- in 연산자로 일부만 비교할거면 문자열로 타입변환을 시켜줘야한다..