슬기로운 개발자생활/알고리즘노트

[정렬] 안테나 (BAEKJOON - 18310)

개발자 소신 2021. 2. 2. 12:40
반응형

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)

 

반응형