세상을 바꾸는 개발자

[코딩테스트] 시각 (파이썬) 본문

코딩테스트/Python

[코딩테스트] 시각 (파이썬)

헬창코딩 2021. 9. 1. 07:52

< 시각 > : 난이도  하

 

<문제>

정수 N이 입력되면 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포함되는 모든 경우의 수를 구하는 프로그램을 작성하시오.

 

<입력 조건>

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

<출력 조건>

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

<입력 예시>                                                                             

  • 5

<출력 예시>

  • 511475

 

[나만의 풀이]

n = int(input("정수를 입력하세요"))
count = 0;
for a in range(0, n + 1):
    for b in range(0, 60):
        for c in range(0, 60):
            a_str = str(a)
            b_str = str(b)
            c_str = str(c)
            if "3" in a_str + b_str + c_str:
                count += 1

print(count)

 

실행결과

 

< 나의 풀이 방법 >

사실 이번 문제도 엄청 쉬운 문제였습니다. 약간 탐색 느낌이었는데 경우의 수가 그렇게 크지 않고 

정해져 있는 (최대 86400개) 문제였기 때문에 무식? 하게 그냥 중첩 반복문만 사용해도 풀 수 있었습니다.

여튼 n* 60 * 60으로 3중 반복문을 사용하고 문자열로 변환한 다음 찾으면 됩니다!

 

참고한 책 주소

https://book.naver.com/bookdb/book_detail.nhn?bid=16439154

Comments