컴공과컴맹효묘의블로그

백준[2230] 수 고르기 본문

알고리즘/백준

백준[2230] 수 고르기

효묘 2022. 7. 24. 16:17
반응형

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

 

2230번: 수 고르기

N개의 정수로 이루어진 수열 A[1], A[2], …, A[N]이 있다. 이 수열에서 두 수를 골랐을 때(같은 수일 수도 있다), 그 차이가 M 이상이면서 제일 작은 경우를 구하는 프로그램을 작성하시오. 예를 들어

www.acmicpc.net

순서는 상관 없고 두 수를 골라서 서로 차이가 M상의 최소값을 구하면 되니까 일단 서로 인접한 차이를 배열에 저장해두고, 어떻게든 하면 답을 구할 수 있을것이라고 생각했다. 하지만 이 생각은 아주 틀렸다.

그냥 단순히 두 개의 포인터 left와 right를 이용하면 답을 쉽게 구할 수 있었다.

입력받은 배열을 정렬하고 두 포인터의 값의 차이를 이용해서 right와 left를 적절히 ++해주면 답을 금방 구할 수 있다.

반응형
Comments