시간대를 늘렸지만 그래프의 형태는 거의 비슷합니다. 그렇다면 3시간 동안 80만 명이 들어오는 역은 과연 어디일까요?
이 문제는 지금까지 많이 다뤄본 패턴인 ‘최댓값 찾기’이므로 전체 코드를 한번에 작성하겠습니다. 먼저 승차 인원의 최댓값을 저장할 변수 mx와 역의 정보를 저장할 변수 mx_station을 초기화하고, 7시부터 9시까지의 승차 인원 합계의 최댓값을 찾아서 출력합니다.
import csv f = open('subwaytime.csv') data = csv.reader(f) next(data) next(data) mx = 0 # 최댓값을 저장할 변수 초기화 mx_station = '' # 최댓값을 갖는 역 이름 저장 변수 초기화 for row in data : # 최댓값 찾기(전부 탐색하여 최댓값을 갱신하는 방식) row[4:] = map(int, row[4:]) if sum(row[10:15:2]) > mx : mx = sum(row[10:15:2]) mx_station = row[3]+'('+row[1]+')' print(mx_station, mx)
실행 결과
신림(2호선) 809541