국문과 유목민

[정렬] 안테나 본문

알고리즘_코딩테스트/이것이 코딩테스트다

[정렬] 안테나

논곰 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 부분에만 몰려 있는 경우가 있다면 어쩌지 등의 생각을 했었는데, 어차피 집의 목록만 가지고 하는 것이기 때문에 상관이 없었다.

'알고리즘_코딩테스트 > 이것이 코딩테스트다' 카테고리의 다른 글

[정렬] 카드 정렬하기  (0) 2021.12.17
[정렬] 실패율  (0) 2021.12.17
[정렬] 국영수  (0) 2021.12.17
[DFS/BFS] 인구이동  (0) 2021.12.16
[DFS/BFS] 괄호변환  (0) 2021.12.16