알고리즘_코딩테스트/이것이 코딩테스트다
[정렬] 안테나
논곰
2021. 12. 17. 00:26
"이것이 코딩테스트다(나동빈 저)"에서 나온 문제에 대한 코드를 다루고 있습니다.
문제에 대한 구체적인 설명과 조건 등은 책을 참고해주시기 바랍니다.
소요시간: 20분
1. 문제 설명
- 안테나를 설치할 때 가장 짧은 거리가 되도록 설치해야 한다.
2. 접근 방식
- 그냥 중간값에 해당하는 위치에 안테나를 설치하면 가장 가까운 곳이 된다.
- 초기에는 너무 어렵게 생각해서 시간이 초과됐었다.
3. 코드
n = int(input())
village = list(map(int, input().split()))
village.sort()
print(village[(n-1)//2])
4. 코멘트
- 너무 어렵게 생각한 것 같다.
- 중간값에 해당하는 위치에 안테나를 놓게 되면 집의 개수가 짝수든, 홀수든 모두 최단거리로 접근 가능하다.
- 중간값이 가장 짧겠는데라는 생각을 했지만, 확신을 가지지 못했던 겄 같다. 만약, 1 \~ 100에서 50~100 부분에만 몰려 있는 경우가 있다면 어쩌지 등의 생각을 했었는데, 어차피 집의 목록만 가지고 하는 것이기 때문에 상관이 없었다.