[브론즈 1] 백준 1333 - 부재중 전화 (파이썬)
글 작성자: pental
https://www.acmicpc.net/problem/1333
풀이
- N개의 노래가 재생되고, 각 노래는 L초 동안 재생된다.
- 각 노래가 끝난 후에는 5초의 쉬는 시간이 있다.
- 민식이는 D초마다 전화를 걸며, 노래가 나오지 않을 때만 전화를 받는다.
- 민식이가 전화를 받을 수 있는 가장 빠른 시간을 출력해야한다.
check = [False] * 5000
- 0에서 4999초까지의 시간 동안 노래가 재생되는지 여부를 저장한다.
- True 라면 노래가 재생중인 상태이다.
index = 0
for _ in range(N) :
for _ in range(L) :
check[index] = True
index += 1
for _ in range(5) :
index += 1
- 각 노래의 재생 시간 동안 check를 True로 표시한다.
- 이후 5초 쉬는 시간 동안은 아무것도 하지 않는다.
- 이 과정을 N번 반복한다.
for i in range(0, 5000, D) :
if not check[i] :
print(i)
break
- 0, D, 2D, 3D, … 순으로 시간을 확인한다.
- check[i] == False인 가장 빠른 시간을 찾아서 출력한다.
- 즉 이시간은 민식이가 전화를 받을 수 있는 최초 시간이다.
코드
# 백준 1333 - 부재중 전화
# 분류 : 구현
N, L, D = map(int, input().split())
check = [False] * 5000
index = 0
for _ in range(N) :
for _ in range(L) :
check[index] = True
index += 1
for _ in range(5) :
index += 1
for i in range(0, 5000, D) :
if not check[i] :
print(i)
break
'Programming > 백준' 카테고리의 다른 글
[골드 2] 백준 1135 - 뉴스 전하기 (파이썬) (0) | 2025.04.19 |
---|---|
[실버 3] 백준 8911 - 거북이 (파이썬) (0) | 2025.04.19 |
[골드 5] 백준 13549 - 숨바꼭질 3 (파이썬) (0) | 2025.04.18 |
[실버 1] 백준 1932 - 정수 삼각형 (파이썬) (0) | 2025.04.18 |
[실버 2] 백준 11053 - 가장 긴 증가하는 부분 수열 (파이썬) (0) | 2025.04.17 |
댓글
이 글 공유하기
다른 글
-
[골드 2] 백준 1135 - 뉴스 전하기 (파이썬)
[골드 2] 백준 1135 - 뉴스 전하기 (파이썬)
2025.04.19 -
[실버 3] 백준 8911 - 거북이 (파이썬)
[실버 3] 백준 8911 - 거북이 (파이썬)
2025.04.19 -
[골드 5] 백준 13549 - 숨바꼭질 3 (파이썬)
[골드 5] 백준 13549 - 숨바꼭질 3 (파이썬)
2025.04.18 -
[실버 1] 백준 1932 - 정수 삼각형 (파이썬)
[실버 1] 백준 1932 - 정수 삼각형 (파이썬)
2025.04.18