ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

728x90

2212 ์„ผ์„œ 

๋ฌธ์ œ

ํ•œ๊ตญ๋„๋กœ๊ณต์‚ฌ๋Š” ๊ณ ์†๋„๋กœ์˜ ์œ ๋น„์ฟผํ„ฐ์Šคํ™”๋ฅผ ์œ„ํ•ด ๊ณ ์†๋„๋กœ ์œ„์— N๊ฐœ์˜ ์„ผ์„œ๋ฅผ ์„ค์น˜ํ•˜์˜€๋‹ค. ๋ฌธ์ œ๋Š” ์ด ์„ผ์„œ๋“ค์ด ์ˆ˜์ง‘ํ•œ ์ž๋ฃŒ๋“ค์„ ๋ชจ์œผ๊ณ  ๋ถ„์„ํ•  ๋ช‡ ๊ฐœ์˜ ์ง‘์ค‘๊ตญ์„ ์„ธ์šฐ๋Š” ์ผ์ธ๋ฐ, ์˜ˆ์‚ฐ์ƒ์˜ ๋ฌธ์ œ๋กœ, ๊ณ ์†๋„๋กœ ์œ„์— ์ตœ๋Œ€ K๊ฐœ์˜ ์ง‘์ค‘๊ตญ์„ ์„ธ์šธ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

๊ฐ ์ง‘์ค‘๊ตญ์€ ์„ผ์„œ์˜ ์ˆ˜์‹  ๊ฐ€๋Šฅ ์˜์—ญ์„ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋‹ค. ์ง‘์ค‘๊ตญ์˜ ์ˆ˜์‹  ๊ฐ€๋Šฅ ์˜์—ญ์€ ๊ณ ์†๋„๋กœ ์ƒ์—์„œ ์—ฐ๊ฒฐ๋œ ๊ตฌ๊ฐ„์œผ๋กœ ๋‚˜ํƒ€๋‚˜๊ฒŒ ๋œ๋‹ค. N๊ฐœ์˜ ์„ผ์„œ๊ฐ€ ์ ์–ด๋„ ํ•˜๋‚˜์˜ ์ง‘์ค‘๊ตญ๊ณผ๋Š” ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•˜๋ฉฐ, ์ง‘์ค‘๊ตญ์˜ ์œ ์ง€๋น„ ๋ฌธ์ œ๋กœ ์ธํ•ด ๊ฐ ์ง‘์ค‘๊ตญ์˜ ์ˆ˜์‹  ๊ฐ€๋Šฅ ์˜์—ญ์˜ ๊ธธ์ด์˜ ํ•ฉ์„ ์ตœ์†Œํ™”ํ•ด์•ผ ํ•œ๋‹ค.

ํŽธ์˜๋ฅผ ์œ„ํ•ด ๊ณ ์†๋„๋กœ๋Š” ํ‰๋ฉด์ƒ์˜ ์ง์„ ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜๊ณ , ์„ผ์„œ๋“ค์€ ์ด ์ง์„  ์œ„์˜ ํ•œ ๊ธฐ์ ์ธ ์›์ ์œผ๋กœ๋ถ€ํ„ฐ์˜ ์ •์ˆ˜ ๊ฑฐ๋ฆฌ์˜ ์œ„์น˜์— ๋†“์—ฌ ์žˆ๋‹ค๊ณ  ํ•˜์ž. ๋”ฐ๋ผ์„œ, ๊ฐ ์„ผ์„œ์˜ ์ขŒํ‘œ๋Š” ์ •์ˆ˜ ํ•˜๋‚˜๋กœ ํ‘œํ˜„๋œ๋‹ค. ์ด ์ƒํ™ฉ์—์„œ ๊ฐ ์ง‘์ค‘๊ตญ์˜ ์ˆ˜์‹  ๊ฐ€๋Šฅ์˜์—ญ์˜ ๊ฑฐ๋ฆฌ์˜ ํ•ฉ์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋‹จ, ์ง‘์ค‘๊ตญ์˜ ์ˆ˜์‹  ๊ฐ€๋Šฅ์˜์—ญ์˜ ๊ธธ์ด๋Š” 0 ์ด์ƒ์ด๋ฉฐ ๋ชจ๋“  ์„ผ์„œ์˜ ์ขŒํ‘œ๊ฐ€ ๋‹ค๋ฅผ ํ•„์š”๋Š” ์—†๋‹ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ์„ผ์„œ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 10,000), ๋‘˜์งธ ์ค„์— ์ง‘์ค‘๊ตญ์˜ ๊ฐœ์ˆ˜ K(1 ≤ K ≤ 1000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์…‹์งธ ์ค„์—๋Š” N๊ฐœ์˜ ์„ผ์„œ์˜ ์ขŒํ‘œ๊ฐ€ ํ•œ ๊ฐœ์˜ ์ •์ˆ˜๋กœ N๊ฐœ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ์ขŒํ‘œ ์‚ฌ์ด์—๋Š” ๋นˆ ์นธ์ด ํ•˜๋‚˜ ์žˆ์œผ๋ฉฐ, ์ขŒํ‘œ์˜ ์ ˆ๋Œ“๊ฐ’์€ 1,000,000 ์ดํ•˜์ด๋‹ค.

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ๋ฌธ์ œ์—์„œ ์„ค๋ช…ํ•œ ์ตœ๋Œ€ K๊ฐœ์˜ ์ง‘์ค‘๊ตญ์˜ ์ˆ˜์‹  ๊ฐ€๋Šฅ ์˜์—ญ์˜ ๊ธธ์ด์˜ ํ•ฉ์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.

์˜ˆ์ œ ์ž…๋ ฅ 1 ๋ณต์‚ฌ

6
2
1 6 9 3 6 7

์˜ˆ์ œ ์ถœ๋ ฅ 1 ๋ณต์‚ฌ

5

์˜ˆ์ œ ์ž…๋ ฅ 2 ๋ณต์‚ฌ

10
5
20 3 14 6 7 8 18 10 12 15

ํ’€์ด

 

์ฃผ์–ด์ง„ ์กฐ๊ฑด

์„ผ์„œ์˜ ๊ฐœ์ˆ˜(n)

์ง‘์ค‘๊ตญ์˜ ๊ฐœ์ˆ˜(k)

์ง‘์ค‘๊ตญ์„ k๊ฐœ๋ฅผ ์„ธ์šฐ๋ฉด, (k - 1) ๊ฐœ์˜ ์˜์—ญ์œผ๋กœ ๊ตฌ๋ถ„์ด ๋œ๋‹ค. ์ด ์˜์—ญ๋“ค์ด ์ˆ˜์‹  ๊ฐ€๋Šฅ ์˜์—ญ์ด ๋œ๋‹ค. (๊ณ ์†๋„๋กœ ์ƒ์—์„œ ์—ฐ๊ฒฐ๋œ ๊ตฌ๊ฐ„์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ๊ตฌ๊ฐ„.)

 

์ฒซ๋ฒˆ์งธ ์˜ˆ์ œ๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ํ‘œํ˜„ํ•ด๋ณด๋ฉด์„œ ์–ด๋–ป๊ฒŒ ํ’€์–ด์•ผํ• ์ง€ ์ƒ๊ฐํ•ด๋ณด์ž.

์„ผ์„œ๋“ค์˜ ์œ„์น˜:[ 1, 3, 6, 6, 7, 9 ]

๊ฐ ์„ผ์„œ๋“ค๊ฐ„์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•ด๋ณธ๋‹ค.

์„ผ์„œ๋“ค์˜ ๊ฑฐ๋ฆฌ: [2, 3, 0, 1, 2]

 

์šฐ๋ฆฌ๋Š” 2๊ฐœ์˜ ์ˆ˜์‹  ๊ฐ€๋Šฅ ์˜์—ญ์œผ๋กœ ๋‚˜๋ˆ„์–ด์•ผ ํ•œ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ, ์ˆ˜์‹  ๊ฐ€๋Šฅ ์˜์—ญ์˜ ๊ธธ์ด์˜ ํ•ฉ์ด ์ตœ์†Œ๊ฐ€ ๋˜๋„๋กํ•˜๋ ค๋ฉด, ์ˆ˜์‹  ๊ฐ€๋Šฅ ์˜์—ญ์„ ๋‚˜๋ˆ„๋Š”๊ฒŒ ์ข‹์„๊นŒ?

๊ทธ๋ ‡๋‹ค. ์„ผ์„œ ๊ฐ„์˜ ๊ฑฐ๋ฆฌ ์ค‘ ๊ฐ€์žฅ ๊ฑฐ๋ฆฌ๊ฐ€ ๋จผ 3์„ ๊ฒฝ๊ณ„๋กœ ๋‘ ์˜์—ญ์œผ๋กœ ๋‚˜๋ˆ„์–ด์•ผ ํ•œ๋‹ค. (1,3), (6,6,7,9)

๊ทธ๋ ‡๋‹ค๋ฉด ์ˆ˜์‹  ๊ฐ€๋Šฅ ์˜์—ญ ๊ธธ์ด์˜ ํ•ฉ์€, 2 + (0 + 1 + 2)๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค.

 

์ฆ‰, (์ง‘์ค‘๊ตญ k๊ฐœ๋กœ ์ˆ˜์‹  ๊ฐ€๋Šฅ ์˜์—ญ์€ k๊ฐœ์ด๊ณ , k๊ฐœ์˜ ์˜์—ญ์œผ๋กœ ๊ตฌ๋ถ„๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” k-1 ๊ฐœ์˜ ๊ฒฝ๊ณ„๊ฐ€ ์ƒ๊ธฐ๋ฏ€๋กœ) ์„ผ์„œ๋“ค ๊ฐ„์˜ ๊ฑฐ๋ฆฌ ์ค‘ ๊ฐ€์žฅ ๋จผ ๊ฑฐ๋ฆฌ(์ง‘์ค‘๊ตญ ๊ฐ„์˜ ๊ฒฝ๊ณ„๊ฐ€ ๋˜์–ด ๊ณ ๋ คํ•˜์ง€ ์•Š์•„๋„ ๋˜๋Š” ๊ฑฐ๋ฆฌ. ์—ฌ๊ธฐ์„œ๋Š” 3) k-1๊ฐœ๋ฅผ ์ œ์™ธํ•œ ํ•ฉ์ด ์ˆ˜์‹  ๊ฐ€๋Šฅ ์˜์—ญ์˜ ์ตœ์†Œ ๊ธธ์ด ํ•ฉ์ด ๋œ๋‹ค.

์˜ˆ์ œ 1

 

์˜ˆ์ œ 2๋„ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ํ’€์ดํ•  ์ˆ˜ ์žˆ๊ฒ ๋‹ค.

์ด์ œ ํ’€์ด ๋ฐฉ๋ฒ•์„ ์•Œ์•˜์œผ๋‹ˆ, ์šฐ๋ฆฌ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ผ๋ฐ˜ํ™” ์‹œ์ผœ๋ณด๋ฉด์„œ ํ’€์ดํ•ด๋ณด์ž.
1๏ธโƒฃ ์„ผ์„œ๋“ค์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค. (์„ผ์„œ๋“ค์€ ์›์ ์œผ๋กœ๋ถ€ํ„ฐ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋ฐฐ์น˜๋  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ)
[3, 6, 7, 8, 10, 12,14, 15, 18, 20]
 
2๏ธโƒฃ ์„ผ์„œ๋“ค ๊ฐ„์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๊ณ , ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค. (๊ฐ€์žฅ ๊ธด ๊ฑฐ๋ฆฌ k-1๊ฐœ๋ฅผ ์ œ์™ธํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ)
[1, 1, 1, 2, 2 ,2 ,2 ,3, 3]
3๏ธโƒฃ ์„ผ์„œ๋“ค ๊ฐ„์˜ ๊ฑฐ๋ฆฌ ์ค‘ ๊ฐ€์žฅ ๋จผ ๊ฑฐ๋ฆฌ k-1๊ฐœ๋ฅผ ์ œ์™ธํ•œ ํ•ฉ์„ ๊ตฌํ•œ๋‹ค. ๋‹ต ์ถœ๋ ฅ.
์„ผ์„œ๋“ค ๊ฐ„์˜ ๊ฑฐ๋ฆฌ ์ค‘ ๊ฐ€์žฅ ๋จผ ๊ฑฐ๋ฆฌ 4๊ฐœ๋ฅผ ์ œ์™ธํ•œ ํ•ฉ์„ ๊ตฌํ•œ๋‹ค.

1 + 1 + 1+ 2+ 2+ 2 = 7

์˜ˆ์ œ 2

 

์ฝ”๋“œ

N = int(input())
K = int(input())

sensors = list(map(int, input().split(' ')))
sensors.sort()

dist = []
for idx in range(0, N-1):
dist.append(sensors[idx+1] - sensors[idx])
dist.sort()

min_sum = 0
for idx in range(0, N-K):
min_sum += dist[idx]

print(min_sum)
 
 
 
728x90
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
ยซ   2025/01   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ
250x250