https://www.acmicpc.net/problem/18310
문제 해결을 위한 과정
이 문제의 경우 몇 가지 예시에 대해서 그림을 그리면 쉽게 해결할 수 있는 문제였습니다. 예시로 2, 2, 2, 8인 경우를 예로 들겠습니다. 문제에서 논리적으로 동일한 위치에 여러 개의 집이 존재하는 것이 가능하다고 하였기에 가능한 예시입니다. 2, 2, 2, 8인 경우 4가지의 값 중 중앙값인 2 그러니까 3번째 2에 안테나를 설치하면 거리는 (0 + 0 + 0 + 6)으로 쉽게 최솟값을 찾을 수 있습니다. 따라서 이 문제는 단순히 입력받은 숫자들 중 중간값을 출력해주면 됩니다.
소스코드
1
2
3
4
5
|
N = int(input())
data = list(map(int, input().split()))
data.sort()
print(data[N//2 - 1])
|
cs |
'알고리즘 > 백준' 카테고리의 다른 글
백준 알고리즘 1932: 정수 삼각(Python) (0) | 2020.12.18 |
---|---|
백준 알고리즘 2110: 공유기 설치 (Python) (0) | 2020.12.18 |
백준 알고리즘 16234: 국영수(Python) (0) | 2020.12.09 |
백준 알고리즘 16234: 인구이동(Python) (0) | 2020.12.07 |
백준 알고리즘 18428: 감시 피하기(Python) (0) | 2020.12.05 |