본문 바로가기
코딩테스트 문제풀이(Python)

백준 2455번 문제풀이

by chanfficial 2022. 5. 2.

2455. 지능형 기차

 

 


최근에 개발된 지능형 기차가 1번역(출발역)부터 4번역(종착역)까지 4개의 정차역이 있는 노선에서 운행되고 있다. 이 기차에는 타거나 내리는 사람 수를 자동으로 인식할 수 있는 장치가 있다. 이 장치를 이용하여 출발역에서 종착역까지 가는 도중 기차 안에 사람이 가장 많을 때의 사람 수를 계산하려고 한다. 단, 이 기차를 이용하는 사람들은 질서 의식이 투철하여, 역에서 기차에 탈 때, 내릴 사람이 모두 내린 후에 기차에 탄다고 가정한다.

예를 들어, 위와 같은 경우를 살펴보자. 이 경우, 기차 안에 사람이 가장 많은 때는 2번역에서 3명의 사람이 기차에서 내리고, 13명의 사람이 기차에 탔을 때로, 총 42명의 사람이 기차 안에 있다.

이 기차는 다음 조건을 만족하면서 운행된다고 가정한다.

  1. 기차는 역 번호 순서대로 운행한다.
  2. 출발역에서 내린 사람 수와 종착역에서 탄 사람 수는 0이다.
  3. 각 역에서 현재 기차에 있는 사람보다 더 많은 사람이 내리는 경우는 없다.
  4. 기차의 정원은 최대 10,000명이고, 정원을 초과하여 타는 경우는 없다.

4개의 역에 대해 기차에서 내린 사람 수와 탄 사람 수가 주어졌을 때, 기차에 사람이 가장 많을 때의 사람 수를 계산하는 프로그램을 작성하시오.


 

입력 : 각 역에서 내린 사람 수와 탄 사람 수가 빈칸을 사이에 두고 첫째 줄부터 넷째 줄까지 역 순서대로 한 줄에 하나씩 주어진다. 

출력 : 첫째 줄에 최대 사람 수를 출력한다.  

 

 

ex)

입력 :

0 32
3 13
28 25
39 0

출력 :

42

 

 

 

 

풀이

count = []
people = 0

for i in range(4):
    a, b = map(int, input().split())
    people += b - a
    count.append(people)

print(max(count))

- 4개의 역 마다 탄 사람의 수가 들어있는 배열 count를 선언해주고 탄 사람의 수를 people로 설정했다.

4번동안 반복하며 내린 사람 수인 a와 탄 사람 수인 b를 입력받은 뒤, 탄 사람의 수 b에서 내린 사람의 수 a를 뺀 값을 people에 더해주면 그 값은 현재 기차 안에 있는 사람의 수와 같다.

현재 기차 안에 있는 사람의 수인 people을 count 배열에 추가해주면, 4개의 역마다 기차 안에 있는 사람의 수가 배열에 추가되는데 max()를 이용하여 기차에 사람이 가장 많을 때의 인원수를 구하도록 했다.

'코딩테스트 문제풀이(Python)' 카테고리의 다른 글

백준 10807번 문제풀이  (0) 2022.05.04
백준 10818번 문제풀이  (0) 2022.05.03
백준 2506번 문제풀이  (0) 2022.05.02
백준 10797번 문제풀이  (0) 2022.05.01
백준 2490번 문제풀이  (0) 2022.05.01