티스토리 뷰
📌문제
일직선상의 마을에 여러 채의 집이 위치한다. 이 중에서 특정 위치의 집에 특별히 한개의 안테나를 설치하기로 하였다. 효율성을 위해 안테나로부터 모든 집까지의 거리의 총합이 최소가 되도록 설치하려고 한다. 이때 안테나는 집이 위치한 곳에만 설치할 수 있고 논리적으로 동일한 위치에 여러 개의 집이 존재하는 것이 가능하다.
집들의 위치가 주어질 때 안테나를 설치할 위치를 선택하는 프로그램을 작성하시오.
📌풀이
중간값에 해당하는 위치의 집에 안테나를 설치했을 때 안테나로부터 모든 집까지의 거리의 총합이 최소가 됨
모든 집의 위치 정보를 입력받은 뒤 이를 정렬해서 중간값 출력
📌코드
n = int(input())
data = list(map(int, input().split()))
data.sort()
print(data[(n - 1) // 2])
📌참고