본문 바로가기
백준

[백준] 2460번 : 지능형 기차 2 – JAVA [자바]

by Hongwoo 2022. 8. 7.
반응형

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

 

2460번: 지능형 기차 2

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

www.acmicpc.net

 


  • 문제

 

 


  • 문제 풀이

백준 2460번 지능형 기차 2는 브론즈 3 난이도의 수학 및 구현 문제이다. 이 문제에서는 10개의 역이 있다. 그리고 각각의 역에서 사람 N명이 내리고 M명이 탄다. 이때 출발역에서 종착역까지 가는 도중 기차 안에 사람이 가장 많을 때의 사람 수를 구하면 된다.

 

이 문제는 간단히 풀 수 있다. 우선 int형 변수 max와 current를 선언해준다. max는 최대 사람 수를 뜻하고 current는 기차 안에 있는 사람 수를 뜻한다.

 

그리고 각 역에서 내리는 사람의 수를 out, 타는 사람의 수를 in이라고 하겠다. 이때 for-loop을 돌려서 current = current - out + in을 해준다. 그리고 max와 비교한 후 현재 current가 더 크면 max를 갱신시켜준다.

 

그리고 for-loop이 끝났을 때 max의 값을 출력하면 된다.

 

자세한 코드는 밑에 있다.

 


  • 코드

 

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        st.nextToken();
        int max = Integer.parseInt(st.nextToken());  //최대 사람 수
        int current = max;  //현재 사람 수
        for (int i = 1; i <= 9; i++) {
            st = new StringTokenizer(br.readLine());
            int out = Integer.parseInt(st.nextToken());  // 내린 사람 수
            int in = Integer.parseInt(st.nextToken());  // 탄 사람 수
            current = current - out + in;
            max = Math.max(max, current);
        }
        System.out.print(max);
    }
}

 

 

반응형

댓글