Point ๐Ÿ’ก


20 3 14 6 7 8 18 10 12 15
# 3 6 7 8 10 12 14 15 18 20 
# 3, 1, 1, 2, 2, 2, 1, 3, 2
# 1, 1, 1, 2, 2, 2, 2, 3, 3

์ด๋Ÿฐ ์˜ˆ์ œ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๊ฒฝ์šฐ, ์„ผ์„œ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ์ตœ์†Œ๊ฐ€ ๋˜์–ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— 3 6 7 8 10 12 14 15 18 20์œผ๋กœ ์ •๋ ฌ์‹œ์ผฐ๋‹ค.

K๊ฐœ์˜ ์ง‘์ค‘๊ตญ์˜ ์ˆ˜์‹  ๊ฐ€๋Šฅ์˜์—ญ์„ [3, 3], [6, 8], [10, 15], [18, 18], [20, 20]๋กœ ๋ถ„ํ• ํ•˜๋ฉด ์ตœ์†Œ ๊ธธ์ด๊ฐ€ ๋œ๋‹ค.

์„ผ์„œ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ํ•˜๋‚˜์”ฉ ํŒŒ์•…ํ•ด์„œ ๋ฆฌ์ŠคํŠธ์— ์ €์žฅํ•œ๋‹ค.

์„ผ์„œ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€์žฅ ํฐ ๋ถ€๋ถ„์„ ์‚ญ์ œํ•˜๋ฉด ๋ถ„ํ• ํ•œ ๊ฒƒ์ด๋ฏ€๋กœ ์ง‘์ค‘๊ตญ์„ ํ•˜๋‚˜ ์„ค์น˜ํ•œ ๊ฒƒ์ด ๋œ๋‹ค.

๊ฑฐ๋ฆฌ ๋ฆฌ์ŠคํŠธ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ๋งจ ๋’ค์—์„œ ์ง‘์ค‘๊ตญ์˜ ๊ฐœ์ˆ˜๋งŒํผ ํฐ ์ˆซ์ž๋ฅผ ํ•˜๋‚˜์”ฉ ์‚ญ์ œํ•œ๋‹ค.

My Solution


import sys

# ํ–‰๋ณตํ•œ ์œ ์น˜์› ๋ฌธ์ œ์™€ ๋น„์Šท

n = int(sys.stdin.readline())
m = int(sys.stdin.readline())
sensor = list(map(int, sys.stdin.readline().split()))
sensor.sort()

distance = []
for i in range(n-1):
    distance.append(sensor[i+1] - sensor[i])

distance.sort()
print(sum(distance[:n-m]))