알고리즘/Python

[python] 백준 2460 - 지능형 기차2

제주도랏맨 2022. 3. 2. 15:20

출처 : 백준, https://www.acmicpc.net/problem/2460

 

2460번: 지능형 기차 2

최근에 개발된 지능형 기차가 1번역(출발역)부터 10번역(종착역)까지 10개의 정차역이 있는 노선에서 운행되고 있다. 이 기차에는 타거나 내리는 사람 수를 자동으로 인식할 수 있는 장치가 있다.

www.acmicpc.net

 

더보기

풀이

 

if __name__ == '__main__':
  people = 0
  max_p = 0
  
  while True:
    try:
      minus, plus = map(int, input().split())
      people = people - minus + plus
      if max_p < people:
        max_p = people
    except:
      break

  print(max_p)

 

입력이 끝날 때 까지 루프를 돌면서 출입 인원을 계속 반영하여 그때그때 최대값을 비교한다.


 

시간 복잡도

 

O(N)

 

다른 사람의 풀이를 보면서 알게 된 점

 

python에서 입력이 끝날 때까지 루프 돌리기

 

while True:
  try:
    ~~
  except:
    break

 

파이썬에서 EOF Error를 발생시켜 이를 catch하는 방식으로 루프를 돌리면,

입력이 끝난 후 enter를 치면 EOF 에러를 감지하여 while 문에서 빠져나온다

 

고찰

 

-