티스토리 뷰
📌문제
일직선상의 마을에 여러 채의 집이 위치한다. 이 중에서 특정 위치의 집에 특별히 한개의 안테나를 설치하기로 하였다. 효율성을 위해 안테나로부터 모든 집까지의 거리의 총합이 최소가 되도록 설치하려고 한다. 이때 안테나는 집이 위치한 곳에만 설치할 수 있고 논리적으로 동일한 위치에 여러 개의 집이 존재하는 것이 가능하다.
집들의 위치가 주어질 때 안테나를 설치할 위치를 선택하는 프로그램을 작성하시오.
📌풀이
중간값에 해당하는 위치의 집에 안테나를 설치했을 때 안테나로부터 모든 집까지의 거리의 총합이 최소가 됨
모든 집의 위치 정보를 입력받은 뒤 이를 정렬해서 중간값 출력
📌코드
n = int(input())
data = list(map(int, input().split()))
data.sort()
print(data[(n - 1) // 2])
📌참고
이것이 취업을 위한 코딩 테스트다 with 파이썬
IT 취준생이라면 누구나 입사하고 싶은 카카오・삼성전자・네이버・라인!취업의 성공 열쇠는 알고리즘 인터뷰에 있다! IT 취준생이라면 누구나 가고 싶어 하는 카카오, 라인, 삼성전자의 2016년
www.google.com