[백준/파이썬] 1333번 부재중 전화 풀이

업데이트:



문제 정보


풀이

문제

노래 N곡이 연속 재생되고, 곡 사이에 5초 공백이 있습니다. 전화는 D초 간격으로 울릴 때, 처음으로 전화를 받을 수 있는 시각을 찾는 문제입니다.

코드

n,l,d=map(int,input().split())
s=([False]*l+[True]*5)*n
t=0
while True:
    if t>=len(s):break
    elif s[t]:break
    else:t+=d
print(t)

설명

시간축을 불리언 배열로 만들었습니다.

  • 노래 재생 구간: False
  • 곡 사이 공백 5초: True

전화가 울리는 시각 0, D, 2D, ...를 순회하다가 True 구간(받을 수 있는 시점)이나 재생 종료 이후 시간이 나오면 그 시각을 출력합니다.



댓글남기기