λ¬Έμ
νκ΅λλ‘곡μ¬λ κ³ μλλ‘μ μ λΉμΏΌν°μ€νλ₯Ό μν΄ κ³ μλλ‘ μμ Nκ°μ μΌμλ₯Ό μ€μΉνμλ€. λ¬Έμ λ μ΄ μΌμλ€μ΄ μμ§ν μλ£λ€μ λͺ¨μΌκ³ λΆμν λͺ κ°μ μ§μ€κ΅μ μΈμ°λ μΌμΈλ°, μμ°μμ λ¬Έμ λ‘, κ³ μλλ‘ μμ μ΅λ Kκ°μ μ§μ€κ΅μ μΈμΈ μ μλ€κ³ νλ€.
κ° μ§μ€κ΅μ μΌμμ μμ κ°λ₯ μμμ μ‘°μ ν μ μλ€. μ§μ€κ΅μ μμ κ°λ₯ μμμ κ³ μλλ‘ μμμ μ°κ²°λ ꡬκ°μΌλ‘ λνλκ² λλ€. Nκ°μ μΌμκ° μ μ΄λ νλμ μ§μ€κ΅κ³Όλ ν΅μ μ΄ κ°λ₯ν΄μΌ νλ©°, μ§μ€κ΅μ μ μ§λΉ λ¬Έμ λ‘ μΈν΄ κ° μ§μ€κ΅μ μμ κ°λ₯ μμμ κΈΈμ΄μ ν©μ μ΅μνν΄μΌ νλ€.
νΈμλ₯Ό μν΄ κ³ μλλ‘λ νλ©΄μμ μ§μ μ΄λΌκ³ κ°μ νκ³ , μΌμλ€μ μ΄ μ§μ μμ ν κΈ°μ μΈ μμ μΌλ‘λΆν°μ μ μ 거리μ μμΉμ λμ¬ μλ€κ³ νμ. λ°λΌμ, κ° μΌμμ μ’νλ μ μ νλλ‘ ννλλ€. μ΄ μν©μμ κ° μ§μ€κ΅μ μμ κ°λ₯μμμ 거리μ ν©μ μ΅μκ°μ ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€. λ¨, μ§μ€κ΅μ μμ κ°λ₯μμμ κΈΈμ΄λ 0 μ΄μμ΄λ©° λͺ¨λ μΌμμ μ’νκ° λ€λ₯Ό νμλ μλ€.
μ λ ₯
첫째 μ€μ μΌμμ κ°μ N(1 ≤ N ≤ 10,000), λμ§Έ μ€μ μ§μ€κ΅μ κ°μ K(1 ≤ K ≤ 1000)κ° μ£Όμ΄μ§λ€. μ μ§Έ μ€μλ Nκ°μ μΌμμ μ’νκ° ν κ°μ μ μλ‘ Nκ° μ£Όμ΄μ§λ€. κ° μ’ν μ¬μ΄μλ λΉ μΉΈμ΄ νλ μμΌλ©°, μ’νμ μ λκ°μ 1,000,000 μ΄νμ΄λ€.
μΆλ ₯
첫째 μ€μ λ¬Έμ μμ μ€λͺ ν μ΅λ Kκ°μ μ§μ€κ΅μ μμ κ°λ₯ μμμ κΈΈμ΄μ ν©μ μ΅μκ°μ μΆλ ₯νλ€.
https://www.acmicpc.net/problem/2212
π‘ νμ΄ λ° μ½λ
import sys
input = sys.stdin.readline
n = int(input())
k = int(input())
array = list(map(int, input().split()))
array.sort()
dist = []
for i in range(n-1):
dist.append(array[i+1] - array[i])
dist.sort(reverse=True)
print(sum(dist[k-1:]))
μ²μμ λ¬Έμ ν΄μμ μ΄λ €μμ΄ μ΄μ§ μμλ€.
κ° μ’νμ μμΉν μΌμλ₯Ό kκ°μ ꡬκ°(μ§ν©)μΌλ‘ λλλ©΄ κ²κ³Ό λμΌνκ² νμ΄λλ€. λ¨Όμ μμλλ‘ μ λ ¬λμ΄μλ μΌμλ€ μ¬μ΄μ 거리λ₯Ό κ΅¬ν΄ dist 리μ€νΈμ λ£λλ€. distλ₯Ό λ΄λ¦Όμ°¨μμΌλ‘ μ λ ¬νμ¬ κ°μ₯ ν° k-1κ°λ₯Ό μ μΈν λλ¨Έμ§ κ±°λ¦¬λ€μ ν©μ΄ κ²°κ΅μλ μ§μ€κ΅ μμ κ°λ₯ μμ κΈΈμ΄μ ν©μ μ΅μκ°μ΄ λλ€.
'Algorithm > π Baekjoon Judge' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BOJ] λ°±μ€ 1261λ² μκ³ μ€ν - νμ΄μ¬(Python) (0) | 2022.01.19 |
---|---|
[BOJ] λ°±μ€ 11000λ² κ°μμ€ λ°°μ - νμ΄μ¬(Python) (0) | 2022.01.10 |
[BOJ] λ°±μ€ 15686λ² μΉν¨ λ°°λ¬ - νμ΄μ¬(Python) (0) | 2022.01.07 |
[BOJ] λ°±μ€ 14503λ² λ‘λ΄ μ²μκΈ° - νμ΄μ¬(Python) (1) | 2022.01.07 |
[BOJ] λ°±μ€ 17609λ² νλ¬Έ - νμ΄μ¬(Python) (0) | 2021.12.31 |