Algorithm/백준

[백준/Python] 안테나

poppy 2021. 5. 7. 13:38
반응형

www.acmicpc.net/problem/18310

 

18310번: 안테나

첫째 줄에 집의 수 N이 자연수로 주어진다. (1≤N≤200,000) 둘째 줄에 N채의 집에 위치가 공백을 기준으로 구분되어 1이상 100,000이하의 자연수로 주어진다.

www.acmicpc.net

# 입력받는 부분
n = int(input())
house = list(map(int, input().split()))

# 정렬
house.sort()

# 안테나를 설치할 집 출력
print(house[int((n-1)/2)]) # print(house[(n-1)//2])

처음에는 for문을 사용하여 배열을 돌면서 각 집에서 다른 집들 간의 거리를 구하고 그 거리들 중에서 최소값을 구해야한다고 생각했습니다. 이 방법으로 코드를 짜다보니 뭔가 잘못되었다는 생각이 들었습니다. 뭔가 쓸데없이 복잡해진 느낌..? 그래서 좀 단순하게 생각해보았는데 그냥 중간값을 구하면 된다는 것을 알았습니다. 그래서 입력받은 집 배열을 정렬한 후 중간값을 출력하도록 하였습니다. 

 

- 배운 점 -

저는 소수점을 버리기 위해 int()를 사용하였는데 연산자인 //를 사용하면 소수점을 버린 정수를 구할 수 있다는 것을 알게 되었습니다.

반응형

'Algorithm > 백준' 카테고리의 다른 글

[백준/Python] 특정 거리의 도시 찾기  (0) 2021.07.24
[백준/Python] 플로이드  (0) 2021.07.04
[백준/Python] 럭키 스트레이트  (0) 2021.05.14
[백준/Python] 카드 정렬하기  (0) 2021.05.08
[백준/Python] 국영수  (0) 2021.05.07