[백준 13164 파이썬] - 행복 유치원

zsunny·2022년 8월 11일
2

📌 문제

💯 정답

import sys
input = sys.stdin.readline

n, k = map(int, input().split())
kid = list(map(int, input().split()))

ans = []
for i in range(1, n):
    ans.append(kid[i] - kid[i-1])
ans.sort(reverse=True)

print(sum(ans[k-1:]))

📝 설명

• 키 차이가 최소가 되도록 해야하므로 각 원생사이의 키 차이를 구한다.
• 만약 5명을 3그룹으로 나눈다면 원생사이의 키 차이가 가장 큰 두 원생을 기준으로 나누면 된다.
  즉, k-1개의 키차이가 빠진 나머지 키차이의 합을 구하면 된다.
• 이때, 최솟값을 구하는 것이므로 키 차이를 구한 ans 리스트를 역순으로 정렬한후 k-1부터 끝까지의 리스트 총 합을 구하면 된다.
profile
매일 성장하는 예비 웹 개발자 🌱

0개의 댓글