데이터사이언스 기록기📚

[백준/Python] 2212번(그리디)_센서 본문

Coding Test/백준(Python)

[백준/Python] 2212번(그리디)_센서

syunze 2023. 5. 29. 15:37

📌문제 유형

그리디 (골드5)

 

📌문제

 

2212번: 센서

첫째 줄에 센서의 개수 N(1 ≤ N ≤ 10,000), 둘째 줄에 집중국의 개수 K(1 ≤ K ≤ 1000)가 주어진다. 셋째 줄에는 N개의 센서의 좌표가 한 개의 정수로 N개 주어진다. 각 좌표 사이에는 빈 칸이 하나 있

www.acmicpc.net

 

📌나의 문제풀이

n = int(input())
k = int(input())
sensor = list(map(int,input().split()))
sensor.sort()

diff = []

for i in range(1,len(sensor)):
    diff.append(sensor[i] - sensor[i-1])

diff.sort()
print(sum(diff[:n-k]))

 

📌 다른사람의 문제풀이

 

[백준] #2212 센서 (python)

2212번: 센서 (acmicpc.net) 2212번: 센서 첫째 줄에 센서의 개수 N(1 ≤ N ≤ 10,000), 둘째 줄에 집중국의 개수 K(1 ≤ K ≤ 1000)가 주어진다. 셋째 줄에는 N개의 센서의 좌표가 한 개의 정수로 N개 주어진다.

yuna0125.tistory.com

import sys
input = sys.stdin.readline

n = int(input())
k = int(input())
sensor = list(map(int,input().split()))
sensor.sort()

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

array.sort()

print(sum(array[:n-k]))

 

📌 리뷰 

- 집중국 위치보다는, '집중국 수신 가능 영역 길이의 합 최소'가 중요!

- 처음에 문제를 이해 못함

 

728x90
Comments