백준 빵

KIMYEONGJUN·2025년 4월 29일
0
post-thumbnail

문제

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

첫 번째 줄에 가게의 수 N이 주어진다.
두 번째 줄부터 N개의 줄에 걸쳐, 한 줄에 하나씩 현재 위치에서 가게까지 가는 데 걸리는 시간 A와, 현재 시점에서 빵이 들어올 때까지 시간 B가 공백을 사이에 두고 주어진다.

KOI 빵을 살 수 없다면, -1을 출력한다.
KOI 빵을 살 수 있다면, 현재 시점에서 빵을 구하는 데 걸리는 최소 시간을 출력한다.

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

주어진 각 가게에 대해 현재 위치에서 가는 데 걸리는 시간(A)과 빵이 도착할 때까지 남은 시간(B)을 읽는다.
만약 가는 시간 A가 빵 도착 시간 B보다 작거나 같다면 (A ≤ B), 해당 가게에서 빵을 살 수 있으며 이때 빵을 얻는 시간은 B이다.
빵을 살 수 있는 모든 가게들 중에서 빵 도착 시간(B 값)이 가장 작은 값을 찾는다.
만약 빵을 살 수 있는 가게가 하나도 없다면 -1을 출력하고, 그렇지 않다면 찾은 가장 작은 빵 도착 시간(최소 B 값)을 출력해준다.

코드로 구현

package baekjoon.baekjoon_28;

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

// 백준 25377번 문제
public class Main1006 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        int min = Integer.MAX_VALUE;

        while(n-->0) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            int a = Integer.parseInt(st.nextToken());
            int b = Integer.parseInt(st.nextToken());

            if(a > b)
                continue;
            min = Math.min(min, b);
        }

        System.out.println(min == Integer.MAX_VALUE ? -1 : min);
        br.close();
    }
}

마무리

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

profile
Junior backend developer

0개의 댓글