백준 와이버스 부릉부릉

KIMYEONGJUN·2025년 2월 18일
post-thumbnail

문제

내가 생각했을때 문제에서 원하는부분

첫 줄에 출발역과 종착역을 제외한 정거장의 수 N(1 ≤ N ≤ 100,000)과 출발역에서 탑승하는 사람의 수 K(1 ≤ K ≤ 10,000)가 주어진다.
둘째 줄부터 N개의 줄에 걸쳐 각 줄마다 i번째 정거장에서 탑승하는 인원 A와 하차하는 인원 B가 주어진다. (0 ≤ A, B ≤ 10,000)

종착역에 도착했을 때, 버스 운전수의 이름을 출력해라.

내가 이 문제를 보고 생각해본 부분

입력 처리: BufferedReader와 StringTokenizer를 사용하여 입력을 받는다.
승하차 계산: 각 정거장에서 하차 후 탑승 인원을 업데이트하며, 최종적으로 버스에 남아 있는 승객 수를 계산한다.
결과 출력: StringBuilder를 사용하여 결과를 한 번에 출력한다.

코드로 구현

package baekjoon.baekjoon_26;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

// 백준 14645번 문제
public class Main937 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        // 첫 번째 줄 입력: N과 K
        StringTokenizer st = new StringTokenizer(br.readLine());
        int N = Integer.parseInt(st.nextToken());
        int K = Integer.parseInt(st.nextToken());

        // 현재 버스에 탑승한 인원 수
        int currentPassengers = K;

        // N개의 정거장에서 승하차 처리
        for(int i = 0; i < N; i++) {
            st = new StringTokenizer(br.readLine());
            int A = Integer.parseInt(st.nextToken()); // 탑승 인원
            int B = Integer.parseInt(st.nextToken()); // 하차 인원

            // 하차
            currentPassengers -= B;
            // 탑승
            currentPassengers += A;
        }

        // 종착역 도착 후 결과 출력
        sb.append("비와이");
        System.out.print(sb.toString());
        br.close();
    }
}

마무리

코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.

profile
Junior backend developer

0개의 댓글