Skip to content

Electric vehicle charging station

1. Problem

전기차 충전소에서는 충전기의 사용 기록을 관리하여 충전기별 이용 현황을 분석한다.

충전기마다 충전 시작 시각과 종료 시각이 주어졌을 때, 각 충전기의 이용 시간을 계산하고 충전소 전체의 이용 현황을 분석하는 프로그램을 작성하시오.

모든 시각은 하루의 시작인 0시부터 분 단위로 표현한다. 예를 들어 1시간 30분은 90으로 입력한다.

다음 정보를 계산한다.

  • 전체 충전기의 이용 시간 합계
  • 평균 이용 시간(분 단위, 소수점 이하 버림)
  • 이용 시간이 120분 이상인 충전기의 수
  • 이용 시간이 가장 긴 충전기의 번호

종료 시각은 시작 시각보다 커야 한다. 이용 시간이 가장 긴 충전기가 여러 대라면 가장 먼저 입력된 충전기의 번호를 출력한다. 충전기 번호는 입력 순서대로 1번부터 시작한다.

입력

첫째 줄에 충전기의 수 (N)이 주어진다.

다음 (N)개의 줄에는 각 충전기의 충전 시작 시각 (S)와 종료 시각 (E)가 공백으로 구분되어 주어진다.

출력

첫째 줄에 전체 이용 시간 합계를 출력한다.

둘째 줄에 평균 이용 시간을 출력한다.

셋째 줄에 이용 시간이 120분 이상인 충전기의 수를 출력한다.

넷째 줄에 이용 시간이 가장 긴 충전기의 번호를 출력한다.

제한사항

  • (1 \leq N \leq 100)
  • (0 \leq S < E \leq 1440)
  • 모든 시각은 하루 안의 분 단위 시각이다.

2. Input example

Example 1

4
60 180
300 390
480 720
900 1080

Example 2

3
0 45
120 240
600 660

3. Output example

3.1. Example 1

630
157
1
3

3.2. Example 2

225
75
0
2

4. Explanation

4.1. Example 1

각 충전기의 이용 시간은 다음과 같다.

  • 1번: (180 - 60 = 120)분
  • 2번: (390 - 300 = 90)분
  • 3번: (720 - 480 = 240)분
  • 4번: (1080 - 900 = 180)분

전체 이용 시간은 (120 + 90 + 240 + 180 = 630)분이다.

평균 이용 시간은 (630 \div 4 = 157.5)분이며, 소수점 이하를 버리면 157분이다.

120분 이상 이용한 충전기는 1번, 3번, 4번으로 총 3대이다.

가장 긴 시간 동안 이용된 충전기는 240분을 기록한 3번이다.

4.2. Example 2

각 충전기의 이용 시간은 45분, 120분, 60분이다.

전체 이용 시간은 225분이며 평균 이용 시간은 75분이다.

120분 이상 이용한 충전기는 2번 한 대이므로, 셋째 줄의 출력은 1이다.

가장 긴 시간 동안 이용된 충전기는 120분을 기록한 2번이다.

5. Answer

n = int(input())

durations = []

for _ in range(n):
    start, end = map(int, input().split())
    durations.append(end - start)

total = sum(durations)
average = total // n
long_charges = sum(1 for duration in durations if duration >= 120)
longest_charger = durations.index(max(durations)) + 1

print(total)
print(average)
print(long_charges)
print(longest_charger)