작성일 :

문제 링크

2460번 - 지능형 기차 2

설명

열차에서의 승하차 정보를 통해 최대 탑승 인원을 계산하는 시뮬레이션 문제입니다.

  • 10개의 역이 있으며, 각 역에서 내린 사람 수탄 사람 수가 주어집니다.
  • 매 역마다 현재 탑승 인원을 계산하고, 그 중 최대값을 저장해두면 됩니다.
  • 모든 역을 시뮬레이션 한 뒤의 최대 인원이 정답이 됩니다.

접근법

  • 현재 탑승 인원최대 탑승 인원을 변수로 선언합니다.
  • 각 줄마다 내린 사람 수탄 사람 수를 입력받아 현재 탑승 인원에 반영합니다.
  • 반영된 값이 현재까지의 최대값보다 크면 최대 탑승 인원을 갱신합니다.
  • 위와 같이 시뮬레이션을 진행한 후 최대 탑승 인원을 출력합니다.

Code

[ C# ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using System;

class Program {
  static void Main() {
    int cur = 0, max = 0;
    for (int i = 0; i < 10; i++) {
      var input = Console.ReadLine().Split();
      int off = int.Parse(input[0]);
      int on = int.Parse(input[1]);
      cur -= off;
      cur += on;
      if (cur > max) max = cur;
    }
    Console.WriteLine(max);
  }
}



[ C++ ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <bits/stdc++.h>

using namespace std;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  int cur = 0, max = 0;
  for (int i = 0; i < 10; i++) {
    int off, ride; cin >> off >> ride;
    cur -= off;
    cur += ride;
    if (cur > max) max = cur;
  }

  cout << max << "\n";

  return 0;
}