n수가 주어짐.
n수 만큼의 집이 존재.
집은 일직선상에 위치하며, 동일한 위치에 여러 개의 집이 존재 가능.
한 집에 안테나를 설치할 때, 모든 집 까지의 거리의 합이 최소가 되는 집의 위치는?
단, 안테나를 설치할 수 있는 위치 값으로 여러 개의 값이 도출될 경우 가장 작은 값을 출력
#이코테_정렬_안테나
n = int(input())
#집을 정렬하여 list에 담음
house = list(map(int, input().split())).sort()
#안테나에서 모든 집까지의 거리를 담을 list 생성
result = list(([0] * n) for _ in range(n))
#안테나에서 모든 집까지의 거리의 총합을 담을 list 생성
count = []
for i in range(n):
for j in range(n):
#안테나 - 집까지의 거리의 절대값을 list에 담음
result[i][j]= abs(house[i] - house[j])
#안테나에서 모든 집까지의 거리의 총합을 list에 담음
count.append(sum(result[i]))
#가장 작은 값 출력
print(min(count))
n = int(input())
#집을 list에 담고, 정렬
house = sorted(list(map(int, input().split())))
#중앙값 출력
print(house[(n - 1) // 2])
: 중앙값
을 출력할 때, house[(n - 1) // 2]
인 이유는?
안테나를 설치할 수 있는 위치 값으로 여러 개의 값이 도출될 경우 가장 작은 값을 출력
이라는 조건이 있기 때문!홀수 일 때는 [(n - 1) / 2]
짝수 일 때는 [(n / 2) - 1] = [(n - 1) // 2]
-> 이 둘을 충족시키는 식은 [(n - 1) // 2]