안테나

2021.05.10 안테나

Solution

이 문제는 정답이 중간값이라는 것을 파악하는 게 핵심이다. 이외의 다른 곳에 설치하면 이동하는 쪽 반대에서 거리가 더 발생하게 된다. 정렬한 뒤 중간값을 출력해주면 된다.

  • 홀수개일 경우 중간값(index : N//2)에 안테나를 설치하면 최소값이다.

  • 짝수개일 경우 중간값이 두개이고 두개가 정확히 동일하다. 따라서 그 중 작은 값을 선택하면 된다.

N = int(input())
homes = list(map(int, input().split()))
homes.sort()

if N % 2 == 0:
    print(homes[N//2 - 1])
else:
    print(homes[N//2])

'SW > 알고리즘 문제풀이' 카테고리의 다른 글

카드정렬하기  (0) 2021.05.19
실패율  (0) 2021.05.10
국영수  (0) 2021.05.10
가사검색  (0) 2021.04.20
인구이동  (0) 2021.04.20