Skip to content

Traffic light waiting time

1. Problem

자율주행 차량이 도로를 따라 이동하고 있다.

차량은 여러 개의 신호등을 순서대로 지나가며, 각 신호등에서 빨간불을 만나면 일정 시간 동안 대기해야 한다.

차량이 각 신호등에 도착했을 때의 대기 시간은 다음과 같이 주어진다.

  • 초록불이면 대기 시간은 0이다.
  • 빨간불이면 주어진 대기 시간이 발생한다.

모든 신호등을 통과하는 데 발생하는 총 대기 시간을 계산하는 프로그램을 작성하시오.

입력

첫 번째 줄에 신호등의 개수 N이 주어진다.

두 번째 줄에 각 신호등에서 발생하는 대기 시간이 순서대로 주어진다.

대기 시간이 0이면 초록불이고, 0보다 크면 빨간불로 인해 대기 시간이 발생한 것을 의미한다.

출력

모든 신호등을 통과하면서 발생한 총 대기 시간을 출력한다.

제한사항

  • 1 <= N <= 100,000
  • 각 대기 시간은 0 <= WaitingTime <= 300
  • 모든 대기 시간은 정수이다.

2. Input example

Example 1

5
0 10 0 20 5

Example 2

7
15 0 5 10 0 20 5

3. Output example

3.1. Example 1

35

3.2. Example 2

55

4. Explanation

4.1. Example 1

각 신호등에서 발생하는 대기 시간은 다음과 같다.

  • 첫 번째 신호등: 0초
  • 두 번째 신호등: 10초
  • 세 번째 신호등: 0초
  • 네 번째 신호등: 20초
  • 다섯 번째 신호등: 5초

따라서 총 대기 시간은

0 + 10 + 0 + 20 + 5 = 35

초이다.

4.2. Example 2

각 신호등에서 발생하는 대기 시간은 다음과 같다.

  • 첫 번째 신호등: 15초
  • 두 번째 신호등: 0초
  • 세 번째 신호등: 5초
  • 네 번째 신호등: 10초
  • 다섯 번째 신호등: 0초
  • 여섯 번째 신호등: 20초
  • 일곱 번째 신호등: 5초

따라서 총 대기 시간은

15 + 0 + 5 + 10 + 0 + 20 + 5 = 55

초이다.

5. Answer

N = int(input())
waiting_times = list(map(int, input().split()))

total_waiting_time = sum(waiting_times)

print(total_waiting_time)