Programming/백준

백준 25377 - 빵 (파이썬)

pental 2025. 3. 25. 14:19

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

풀이

N개의 빵 가게가 있으며, 각 가게에서의 두가지 정보가 주어진다.

  • A[i] → 내가 가게에 도착할 수 있는 시간
  • B[i] → 해당 가게에서 빵을 구매할 수 있는 시간

조건 A[i] ≤ B[i]를 만족하는 가게 중에서 가장 빠르게 빵을 살 수 있는 시간을 찾아야한다.

만약 해당하는 가게가 없다면 -1을 출력한다.

시간 복잡도 분석

  • 입력 처리: O(N)
  • 최소값 탐색: O(N)
  • 총 시간 복잡도: O(N) (선형 탐색이므로 매우 효율적)

코드

# 백준 25377 - 빵
# 분류 : 구현

N = int(input())
A = [0] * N
B = [0] * N
for i in range(N) :
    A[i], B[i] =  map(int, input().split())

min_time = 1e9
for i in range(N) :
    if A[i] <= B[i] :
        min_time = min(min_time, B[i])

if min_time == 1e9 :
    print(-1)
else :
    print(min_time)