본문 바로가기

Language/Python

[Python][백준 2212][정렬][그리디] 센서 - 컴도리돌이

728x90

풀이과정

해당 문제는 좌표를 단순히 정렬시켜서 

센서들 간의 거리를 저장하고 정렬하여 

n-k까지 합을 구하면 된다.

여기서 n-k까지 합을 구하는 이유를 물어본다면,, 

문제를 그리면서 푸는 것을 추천한다.

🙄

 

1. 센서 위치를 정렬시킨다. 

 

2. x의 0번째 인덱스부터 n-1 인덱스까지 다음 좌표까지의 거리를 저장한다.

 

3. 다음 좌표까지의 거리들을 정렬시킨다.

 

4.  정렬된 좌표 간의 거리 리스트에서 n-k까지 합을 구하여 출력한다.


풀이 코드

n,k,*x = map(int,open(0).read().split()) ;x.sort()
print(sum(sorted([x[i+1] - x[i] for i in range(n-1)])[:n-k]))