[코딩테스트 스터디/C++] 백준 18310번 안테나
1.문제 링크
https://www.acmicpc.net/problem/18310
2. 풀이 전 계획과 생각
- 정렬 알고리즘 사용
3. 풀이
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int n;
vector<int> v;
int main(){
// 입력
cin>>n;
// 입력
for(int i=0;i<n;i++){
int temp; cin>>temp;
v.push_back(temp);
}
// 정렬
sort(v.begin(), v.end());
int ans = (n-1)/2;
// 답 출력
cout<<v[ans];
}
중앙값 위치에 안테나를 설치하는 것이 안테나로부터 모든 집까지의 거리의 총합이 최소가 된다.
4. 풀이하면서 고민했던 점
- for문을 이용해 모든 경우에 대해 계산해 최솟값을 찾았는데 시간초과가 나왔다.
5. 문제를 풀고 알게된 개념 및 소감
- 풀이가 간단해서 놀람