기록하고 까먹지 말기

2212 본문

전공/백준

2212

yha97 2022. 11. 26. 01:30

날짜 : 2022. 11. 25

사용 언어 : python

 

문제

 

 

코드

import sys

n = int(sys.stdin.readline())
k = int(sys.stdin.readline())
dist = list()
area = list(map(int, sys.stdin.readline().split()))
res = 0
area.sort()
#print(area)
for i in range(1, len(area)):
    dist.append(abs(area[i] - area[i-1]))
dist.sort()
for i in range(len(dist)-(k-1)):
    res += dist[i]
    
print(res)

 

 

풀이

- 조건에 따라 수를 입력받은 후 센서의 좌표를 오름차순으로 정렬한다.

- 그리고 각 좌표간 차이를 구한 이후에 (k-1)만큼 결괏값에 더함으로써 문제를 풀이했다.

- 두 개의 그룹을 지정한 경우에는 각 양 끝 수간의 차이는 가산되지 않기 때문이다.

ex) 1, 2, 3, 6, 7, 8을 두 묶음으로 위 문제의 조건처럼 묶는다면 다음과 같다.

     (1, 2, 3) (6, 7, 8) -> 차이가 가산되는 경우는 (3-1)과 (8-6)이다.

 

 

알게된 점

 

 

참고 사이트

 

'전공 > 백준' 카테고리의 다른 글

2468  (0) 2022.11.26
4889  (0) 2022.11.26
10799  (0) 2022.11.26
5567  (0) 2022.11.24
11501  (0) 2022.11.24