[백준 2980 파이썬] 도로와 신호등

일단 해볼게·2023년 5월 17일
0

백준

목록 보기
124/132

https://www.acmicpc.net/problem/2980

import sys
input = sys.stdin.readline

N, L = map(int, input().split()) # 신호등 개수, 도로의 길이
pos = 0 # 현재 위치
answer = 0 

for _ in range(N):
    d, r, g = map(int, input().split()) # 신호등 위치, 빨간불, 초록불

    answer += (d - pos) # 신호등 위치 - 현재 위치
    pos = d # 현재 위치 갱신

    if answer % (r + g) <= r: # 경과시간 % (빨간불 + 초록불)이 빨간불 이하면 대기해야함
        answer += (r - (answer % (r + g))) # 대기시간 더하기

answer += (L - pos) # 반복문을 돌고나면 신호등이 없는 도로의 길이를 더해야함.
print(answer)

처음에 지나는 시간, 트럭의 위치, 빨간불, 초록불 다 하나씩 계산하면서 코드를 구현하다가 코드가 너무 길어지고 풀이가 꼬여버려서 1시간 동안 고생했다. 풀이 방법을 더 깊이 생각해봐야겠다.

profile
시도하고 More Do하는 백엔드 개발자입니다.

0개의 댓글