반응형
리뷰
신호등과 육교를 통해 최대한 빨리 강의실에 도착 하는 구현 문제
문제 풀이
- 입력 데이터와 시간을 나타낼 변수를 0으로 초기화 해준다.
- 리스트의 각 요소를 참조하여 신호등의 빨간불과 초록불의 시간을 더해 사이클을 만들어 준다.
- 현재 시간을 사이클로 나눈 나머지가 현재 신호등의 정보가 된다. blue라는 변수로 저장해 주었다.
- 만약 blue가 초록불의 시간보다 적다면 현재는 초록불인 것이다.
- 만약 blue가 초록불의 시간보다 적다면 현재는 빨간불인 것이다. 총 사이클에서 blue값을 빼준 뒤 i[0]에 더해준다.
- time에 육교와 횡단보도를 통한 이동 시간 중 더 적은 값을 더해준다.
참고 사항
없음
정답 코드
import sys
n = int(sys.stdin.readline())
lst = [list(map(int, sys.stdin.readline().split())) for _ in range(n)]
time = 0
for i in lst:
cycle = i[2] + i[3]
blue = time % cycle
if blue >= i[2]:
i[0] += cycle - blue
time += min(i[0], i[1])
print(time)
728x90
반응형
'알고리즘 공부 > 파이썬(Python)' 카테고리의 다른 글
백준 2667번 단지번호붙이기 파이썬 (0) | 2024.07.10 |
---|---|
백준 2178번 미로 탐색 파이썬 (0) | 2024.07.10 |
SWEA 1220번 D3 [S/W 문제해결 기본] 5일차 - Magnetic 파이썬 (0) | 2024.07.08 |
백준 13335번 트럭 파이썬 (0) | 2024.07.08 |
백준 10799번 쇠막대기 파이썬 (0) | 2024.07.07 |