차곡차곡

[BOJ/Python] 백준 18310번 - 안테나 본문

CS/Algorithm

[BOJ/Python] 백준 18310번 - 안테나

sohy 2022. 9. 19. 19:15

백준 #18310 안테나

 

18310번: 안테나

첫째 줄에 집의 수 N이 자연수로 주어진다. (1≤N≤200,000) 둘째 줄에 N채의 집에 위치가 공백을 기준으로 구분되어 1이상 100,000이하의 자연수로 주어진다.

www.acmicpc.net

import sys
input = sys.stdin.readline

n = int(input())
house = list(map(int, input().split()))

house.sort()
if n % 2 == 0:
  print(house[n // 2 - 1])
else:
  print(antenna = house[n // 2])

그리디라고 하기도 민망한 문제 ..

 

오름차순으로 정렬했을 때 가운데에 있는 집에 설치해야 모든 집까지의 거리의 총 합이 최소가 될 수 있다.

  • n = 짝수 : 몫 - 1
1 5 7 9 
>> 5에 설치해야 최소
  • n = 홀수 : 몫
1 5 7 9 10 >> 7에 설치해야 최소

Comments