알고리즘/이코테 실전문제

[구현] 이코테 (파이썬) 시각 풀이

개발윗미 2021. 8. 18. 17:36

[문제]

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

 

구하는 프로그램을 작성하시오. 예를 들어 1을 입력했을 때 다음은 3이 하나라도 포함되어 있으므로 세어야 하는 시각이다.

 

- 00시 00분 03초
- 00시 13분 30초

 

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

 

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

 

[입력 조건]

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

 

[출력 조건]

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

<입력 예시>
5
<출력 예시>
11475

 

[내 풀이]

n = int(input())
result = 0

for i in range(n+1) :
  for j in range(60) :
    for k in range(60) :
      if '3' in str(i) + str(j) + str(k) :
        result += 1

print(result)

 

시간에 해당되는 i, 분에 해당되는 j, 초에 해당되는 k를 통해 3중 반복문을 사용하고 1초씩 늘려가며 수행한다.

 

만약 시, 분, 초를 모두 합친 문자열 중에 '3' 값이 존재한다면 경우의 수에 해당하는 result 값을 1씩 증가시킨다.

 


출처

이것이 코딩 테스트다 with 파이썬 - 나동빈 저