https://youtu.be/2zjoKjt97vQ?si=ZCZlL6rJzNjPxq8A
본 내용을 위 유투브를 참고해서 작성했음을 밝힙니당~
<문제> 시각
* 처음에 문제 듣자마자 들은 생각.. 띠용?
* 이걸 어떻게 풀어야 하나...
* 다행인건 N이 숫자 하나라는 건데..
* 그러면 1인 경우에 1 -> 01:59:59이니까 1보다 큰 숫자들은 곱하기를 하면 되는 것인가?
* 00:00:00 ~ 01:59:59
* 00:00:03
* 00:00:13
* 00:00:23 -> 이런식으로 6번 (0~5)
* 00:01:03 -> 이런식으로 6번 * 59번(00~59) = 354번
* 5를 입력하면... 354 * 6 는 아님 왜??
문제 해결 아이디어
# 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)
#%% md
* 그냥 직관대로 짜는 건 맞는데, 반복문 3번 넣어서 h+1까지 하는 거랑 60, 60인거.
* if '3' in str(i) + str(j) + str(k): 이 부분이 되게 클린하다.
* 단순히 or로 짜면 되나? 생각했는데 겹치는 부분이 있을 수도 있으니까 파이썬에서는 단순히 '+'로 처리해버렸다.
깃헙 링크는 요기!
'Programming > Algorithm' 카테고리의 다른 글
[구현 알고리즘] 문제: 문자열 재정렬 (2) | 2024.02.13 |
---|---|
[구현 알고리즘] 문제: 왕실의 나이트 (0) | 2024.02.13 |
[구현 알고리즘] 문제: 상하좌우 (2) | 2024.02.12 |
[구현 알고리즘] 시뮬레이션과 완전 탐색 (2) | 2024.02.05 |
[그리디 알고리즘] - 문제: 모험가 길드 (0) | 2024.02.05 |