오늘의 인기 글
최근 글
최근 댓글
Today
Total
05-20 11:35
관리 메뉴

우노

[Implementation] 이코테 “시각” Python 풀이 본문

Algorithm/Implementation

[Implementation] 이코테 “시각” Python 풀이

운호(Noah) 2022. 6. 1. 20:57

문제

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

입력 예시

5

출력 예시

11475

풀이

  • 시, 분, 초를 완전 탐색할 경우, 86,400(24 X 60 X 60)가지만 존재합니다.
  • 따라서, 3중 반복문을 사용해 모든 시각을 완전 탐색하며,
  • 각 시각을 문자열로 변환해 하나의 문자열로 만든 뒤, 해당 문자열에 ‘3’ 이 포함되어 있는지 확인합니다.

예제 코드

# h 입력받기
h = int(input())

count = 0
for i in range(h+1):
    for j in range(60):
        for k in range(60):
            # 매 시각 안에 '3' 이 포함되어 있다면 카운트 증가
            if ('3' in str(i) + str(j) + str(k)):
                count += 1
print(count)

참고

  • 이것이 취업을 위한 코딩 테스트다. with python
Comments