[백준 2230 파이썬] 수 고르기

일단 해볼게·2022년 11월 25일
0

백준

목록 보기
72/132

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

# 수 고르기

N, M = map(int, input().split()) # 정수 개수, 차이
lst = [int(input()) for _ in range(N)]

lst.sort() # 정렬 
start, end = 0, 0
result = int(2e9) # 큰 수

while start < N and end < N: # 인덱스가 N보다 작다.
    if lst[end] - lst[start] < M: # M보다 작을 때
        end += 1 # 끝점 인덱스 +1
    else: # M보다 클 때
        result = min(result, lst[end] - lst[start]) # result에 더 작은 값 저장
        start += 1 # 시작점 인덱스 +1

print(result)

투 포인터를 처음 접한 문제다. 정렬 후 start, end로 조건에 맞은 값을 찾는다.

profile
시도하고 More Do하는 백엔드 개발자입니다.

0개의 댓글