[백준] 2212번 센서 - python파이썬

2024. 12. 18. 10:45·코딩테스트/백준

문제

 

 

 

설명

 

 

처음에는 문제의 해석이 잘 되지 않아서 푸는데 애를 먹은 문제이다.

주어진 문제를 쉽게 해석하는 능력이 아직 부족한 것 같다.

 

 

 

일단 이 문제는 N개의 센서의 정보를 수집하는 최대 K개의 집중국을 세울 때 수신 가능 영역 길이의 합의 최솟값을 구하는 문제이다.

 

 

이게 대체 무슨 소리지? 싶겠지만

 

이를 쉽게 해석해보면 N개를 K개의 구간으로 나눌 때 구간 내의 간격의 합이 최소가 되도록 하는 값을 구하면 된다.

 

 

 

 

예제1번의 센서를 좌표위치에 따라 오름차순 정렬을 하였을 때의 센서간의 간격을 나타낸 그림이다.

 

이때 2개의 구간으로 나누려면 센서는 2개가 필요하고 (집중국 하나 = 해당 집중국 담당하는 하나의 구간)

2개의 구간으로 나누게 되면  센서간의 간격중 1개가 사라지게 된다. 

 

즉, 사라지는 간격의 개수 = K-1

 

 

 

 

그렇다면 어떤 간격을 없애야 할까? 바로 간격이 최대가 되는 구간부터 K-1 개를 지워주면 된다.

 

 

 

코드

 

import sys
n = int(input())
k = int(input())

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

#집중국이 센서보다 많을경우 집중국에 설치하면 거리는 0이 됨
if k>= n :
    print(0)
    sys.exit()

dist = []
for i in range(1,n):
    dist.append(sensor[i]-sensor[i-1])
#가장 큰 간격부터 제거하기 위해 내림차순 정렬
dist.sort(reverse=True)
#k-1개만큼의 간격 제거
for _ in range(k-1):
    dist.pop(0)


print(sum(dist))

'코딩테스트 > 백준' 카테고리의 다른 글

[백준]11054번 가장 긴 바이토닉 부분수열 - python파이썬  (2) 2025.01.15
[백준]14502번 연구소 BFS - python  (1) 2025.01.06
[백준] 5557번 1학년 - python 파이썬  (0) 2024.12.17
[백준] 1038 감소하는 수 - python 파이썬  (0) 2024.12.10
[백준] 14179번 빗물 - python 파이썬  (1) 2024.11.27
'코딩테스트/백준' 카테고리의 다른 글
  • [백준]11054번 가장 긴 바이토닉 부분수열 - python파이썬
  • [백준]14502번 연구소 BFS - python
  • [백준] 5557번 1학년 - python 파이썬
  • [백준] 1038 감소하는 수 - python 파이썬
hiwon
hiwon
천천히 굴러가는 코딩일기
  • hiwon
    하이원의 코딩 일기
    hiwon
  • 전체
    오늘
    어제
    • 분류 전체보기 (83)
      • 프론트엔드 (0)
        • react (0)
      • 백엔드 (13)
        • node.js (1)
        • spring (6)
      • 코딩테스트 (57)
        • 백준 (41)
        • 프로그래머스 (15)
      • 프로디지털아카데미 (9)
        • 클라우드 (1)
        • JavaScript (1)
      • github (1)
      • AWS (2)
      • Infra (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    코테
    K디지털트레이닝
    백준
    BFS
    IT기획
    EC2
    다익스트라
    spring
    파이썬
    MSA
    kdt교육
    UnionFind
    그리디
    python
    코딩테스트
    프로그래머스
    Java
    투포인터
    프디아
    bastion host
    AWS
    알파코캠퍼스
    깃허브
    알파코
    백트래킹
    프로디지털아카데미
    github
    알고리즘
    신한투자증권
    백엔드
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
hiwon
[백준] 2212번 센서 - python파이썬
상단으로

티스토리툴바