문제

이것이 취업을 위한 코딩 테스트다 with 파이썬 (나동빈 저)

  • 정수 N이 입력되면 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중 3이 하나라도 포함되는 모든 경우의 수를 구하라.
# 입력 예시
5

# 출력 예시
11475

풀이

  • 1 시간은 3,600초다.
  • 03시, 13시, 23시는 무조건 3,600개의 3을 마주친다.
  • 그 외 시간은 1,575개의 3을 마주친다.

그럼 정리해볼 수 있다.

  • 03시, 13시, 23시에는 무조건 3,600을 더한다.
  • 그 외의 시각에는 1,575를 더한다.
N = int(input())
count = 0
if N >= 23 : print((N-2)*1575 + 3*3600)
elif N >= 13 : print((N-1)*1575 + 2*3600)
elif N >= 3 : print((N)*1575 + 3600)
else : print((N+1)*1575)

상수시간 내로 풀린다.

댓글남기기