[백준 13164, 2212골5] 행복 유치원, 센서 (그리디/python) -/1R

밀루·2023년 4월 5일

백준 문제풀이

목록 보기
28/51


https://www.acmicpc.net/problem/13164
https://www.acmicpc.net/problem/2212

import sys, heapq
input = sys.stdin.readline

if __name__ == "__main__":
    N, K = map(int, input().split())
    tall_list = list(map(int, input().split()))
    tall_list.sort(reverse=True)
    # print(tall_list)
    difference_list = []
    for i in range(len(tall_list)-1):
        difference_list.append(tall_list[i]-tall_list[i+1])
    difference_list.sort(reverse=True)
    # print(difference_list)
    print(sum(difference_list[K-1:]))
        
import sys
input = sys.stdin.readline
if __name__ == "__main__":
    N = int(input()) # N개의 센서
    K = int(input()) # K개의 집중국 가능
    tall_list = list(map(int, input().split()))
    tall_list.sort(reverse=True)
    # print(tall_list)
    difference_list = []
    for i in range(len(tall_list)-1):
        difference_list.append(tall_list[i]-tall_list[i+1])
    difference_list.sort(reverse=True)
    # print(difference_list)
    print(sum(difference_list[K-1:]))

알고리즘은 대단히 간단하다.
세 그룹으로 나눈다고 치면, 가장 차이가 많이 나는 상위 2곳을 자르면 그만이다.
너무 쉽게 풀었지만 정답률이 55퍼센트니 방심하지 말자.
그러나 이 알고리즘을 풀때 내가 푼 방법이 맞나? 하면서 나 자신을 의심했다.
알고리즘 문제를 풀 때는 나를 의심하지 않는 것도 중요한거같아.

profile
벨로그에 틀린 코드나 개선할 내용이 있을 수 있습니다. 지적은 언제나 환영합니다.

0개의 댓글