<๋ฌธ์ ๋งํฌ>
https://www.acmicpc.net/problem/2212
2212๋ฒ: ์ผ์
์ฒซ์งธ ์ค์ ์ผ์์ ๊ฐ์ N(1 ≤ N ≤ 10,000), ๋์งธ ์ค์ ์ง์ค๊ตญ์ ๊ฐ์ K(1 ≤ K ≤ 1000)๊ฐ ์ฃผ์ด์ง๋ค. ์ ์งธ ์ค์๋ N๊ฐ์ ์ผ์์ ์ขํ๊ฐ ํ ๊ฐ์ ์ ์๋ก N๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ์ขํ ์ฌ์ด์๋ ๋น ์นธ์ด ํ๋ ์
www.acmicpc.net
<ํ์ด ์ ๋ต>
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ถ๋ฅ๋๋ ๋ฌธ์ ์ธ๋ฐ ๋๋ถ๋ถ์ ๊ทธ๋ฆฌ๋ ๋ฌธ์ ๊ฐ ๊ทธ๋ ๋ฏ์ด ๊ทธ๋ฆฌ๋์ธ ๊ฑธ ์๊ณ ๋๋ฉด ์ฝ๋ค. ๊ทธ๋ฆฌ๋์ธ ๊ฑธ ์๊ณ ํ์ ํ๊ธฐ๊น์ง๊ฐ ์ด๋ ค์์ ๊ทธ๋ ์ง...
- ์ผ์์ ์ง์ค๊ตญ ๊ฐ์ ๊ฑฐ๋ฆฌ๋ฅผ ์ต์ํ ํด์ผ๋๊ธฐ ๋๋ฌธ์ ์ผ์ ๊ฐ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ํฐ ์ง์ญ์ด ์ง์ค๊ตญ ์์ ์์ญ ๋ด์ ํฌํจ๋์ง ์๋๋ก ํด์ผ๋๋ค.
- ๋ฐ๋ผ์ ์ผ์ ๊ฐ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํด์ ๊ฐ์ฅ ๊ฑฐ๋ฆฌ๊ฐ ํฐ ์ง์ญ K - 1๊ฐ๋ฅผ ์ด ์ง์ญ์์ ๋นผ์ฃผ๋ฉด ๋๋ค.
- ํ ์คํธ๋ก ์จ์ ์ข ํท๊ฐ๋ฆฌ๋๋ฐ ๊ทธ๋ฆผ์ผ๋ก ๊ทธ๋ ค๋ณด๋ฉด ๋ ์ฝ๊ฒ ์ดํดํ ์ ์๋ค.
- ์ด์ฐจํผ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ๊ฑฐ๊ธฐ ๋๋ฌธ์ ์ง์ค๊ตญ์ ์ค์นํ๋ ์ ํํ ์์น๋ ํ์ ์๋ค.
- ๊ทธ ์ธ์ ์ผ์ ์ขํ ์ค๋ณต ์ ๊ฑฐํ๋ ๊ฑฐ๋ ์ง์ค๊ตญ ๊ฐ์๊ฐ ๋ ๋ง์ ๋ ์์ธ์ฒ๋ฆฌ๋ง ์ ๊ฒฝ ์จ์ฃผ๋ฉด ๋๋ค.
6. ์ถ๊ฐ๋ก 15553 ๋๋ก(https://www.acmicpc.net/problem/15553) ๋ฌธ์ ๋ ๋งค์ฐ ์ ์ฌํ๋๊น ํ๋ฒ ํ์ด๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
<์ ๋ต ์ฝ๋>
# 220903 2212 ์ผ์
# ์ ๋ต์ฝ๋
import sys
input = sys.stdin.readline
# N: ์ผ์์ ๊ฐ์, K: ์ง์ค๊ตญ์ ๊ฐ์ sensor: ์ผ์์ ์ขํ
N = int(input())
K = int(input())
sensor = list(map(int, input().split()))
# ์ผ์ ์ขํ ์ค๋ณต ์ ๊ฑฐ ํ ์ ๋ ฌ
sensor = list(set(sensor))
sensor.sort()
# ์ง์ค๊ตญ ๊ฐ์๊ฐ ์ ๋ ฌ๋ ์ผ์ ๊ฐ์๋ณด๋ค ๋ง๊ฑฐ๋ ๊ฐ์ผ๋ฉด ์์ ๊ฐ๋ฅ ์์ญ์ 0์ด๋ค.(๊ฐ ์ผ์๋ง๋ค ์ค์น)
if K >= len(sensor):
print(0)
# ์ผ์ ๊ฐ์๊ฐ ๋ ๋ง์ ๋
else:
# ๊ฐ ์ผ์ ๊ฐ์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ค.
distance = [0]
for i in range(1, len(sensor)):
distance.append(sensor[i] - sensor[i-1])
# ์ผ์ ๊ฑฐ๋ฆฌ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ
distance.sort(reverse=True)
# total_distance: ์ผ์ ๊ฐ ๊ฑฐ๋ฆฌ์ ํฉ
total_distance = sum(distance)
# ์ผ์ ๊ฐ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ํฐ ์์ญ K-1๊ฐ๋ฅผ ๊ฑฐ๋ฆฌ ์ดํฉ์์ ๋นผ์ค๋ค.
for i in range(K - 1):
total_distance -= distance[i]
print(total_distance)
'โญ Problem_Solving > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 2146 ๋ค๋ฆฌ ๋ง๋ค๊ธฐ (Python/ํ์ด์ฌ) (0) | 2022.10.01 |
---|---|
[๋ฐฑ์ค] 20055 ์ปจ๋ฒ ์ด์ด ๋ฒจํธ ์์ ๋ก๋ด (Python/ํ์ด์ฌ) (1) | 2022.09.30 |
[๋ฐฑ์ค] 3190 ๋ฑ (Python/ํ์ด์ฌ) (0) | 2022.09.28 |
[๋ฐฑ์ค] 2206 ๋ฒฝ ๋ถ์๊ณ ์ด๋ํ๊ธฐ (Python/ํ์ด์ฌ) (1) | 2022.09.27 |
[๋ฐฑ์ค] 14503 ๋ก๋ด์ฒญ์๊ธฐ(Python/ํ์ด์ฌ) (0) | 2022.09.26 |
๋๊ธ