반응형
1. 문제
안테나를 집 위에 설치할 때, 어디에 설치해야 각 집까지의 거리가 최소가 되겠는가?
N은 ~20만 (완전탐색 X)
2. 입력
# SET - 1
4
5 1 7 9
3. 출력
# SET - 1
5
4. 풀이
집을 정렬하고, 집의 수 N에서 1을 빼고 (가운데 왼쪽을 표현하기 위해)
2로 나눈 뒤 해당 index를 출력하면 끝
짝수일 경우
1 2 5 9
-> 1번째 (2)가 최소 1+0+3+7 = 11 / (5) 4+3+0+4 = 11
홀수일 경우
1 2 3 4 7
-> 2번째 (3)이 최소 2+1+0+1+3 = 7 / (4)==(2)
5. 코드
N = int(input())
houses = list(map(int, input().split()))
def sol(N, houses):
print(sorted(houses)[(N-1)//2])
sol(N, houses)
반응형
'슬기로운 개발자생활 > 알고리즘노트' 카테고리의 다른 글
[이진 탐색] 고정점 찾기 (0) | 2021.02.02 |
---|---|
[DFS/BFS] 블록 이동하기 (0) | 2021.02.01 |
[DFS/BFS] 인구 인동 (BAEKJOON - 16234) (0) | 2021.02.01 |