문제 출처


  • 이것이 취업을 위한 코딩테스트다 with 파이썬
  • Chapter 04 - 연습문제 2. 시각

제한


  • 시간 제한 : 2 초
  • 메모리 제한 : 128 MB

문제


  • 정수 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이 하나라도 포함되는 모든 경우의 수를 출력한다.


👀 풀이


  • 하루는 86,400초로 00시 00분 00초 ~ 23시 59분 59초까지 생길 수 있는 경우의 수는 최대가 86,400개이다.
  • 그래서 모든 경우를 하나씩 탐색해 보아도 시간 안에 해결할 수 있다.
  • 00시 00분 00초부터 1초씩 늘려가면서 문자열로 바꾼 뒤 그 안에 3이 포함되어 있는지 확인하면 된다.
  • 먼저 시간 단위로 반복문을 돌고 그 안에서 분 단위로 반복문을 돌고 그 안에서 초 단위로 반복문을 도는 3중 반복문을 작성하면 쉽게 풀 수 있다.

코드