구현, 수학

[백준] 2455. 지능형 기차 풀이

hch06 2025. 2. 4. 14:44

https://www.acmicpc.net/problem/2455

 

4번을 반복하는 동안 각 역에서 탄사람과 내린사람의 수를 입력받고, 기차 내에 있는 사람의 수를 계산하여(기차내에 사람 수 + 탄 사람 수 - 내린 사람 수) 최댓값(max)을 검사하여 저장하였다. 

 

반복이 끝난 후에는 max값을 출력하여 문제를 해결하였다.

 


C

더보기
#include <stdio.h>

int main() {
    int a, b, v = 0;
    int max = 0;
    for(int i = 1; i <= 4; i++){
        scanf("%d %d", &a, &b);
        v += b - a;
        if(v > max) max = v;
    }
    printf("%d", max);
}

Python

더보기
v = 0; max = 0
for _ in range(4):
    a, b = map(int, input().split())
    v += b - a
    if v > max: max = v
print(max)

Java

더보기
import java.util.Scanner;

public class Main {
    public static void main(String args[]) {
      Scanner s = new Scanner(System.in);
      int res = 0, max = 0;
      for(int i = 0; i < 4; i++){
          int a = s.nextInt(), b = s.nextInt();
          res += b - a;
          if(max < res) max = res;
      }
      System.out.print(max);
    }
}

JavaScript

더보기
ip = require('fs').readFileSync(0).toString().split("\n")
res = 0; max = 0
for(let i = 0; i < 4; i++) {
    var [a, b] = ip[i].split(" ").map(Number)
    res += b - a
    if(max < res) max = res
}
console.log(max)