본문 바로가기
백준 문제풀이

[백준][그리디] 18310 안테나 c++ 구현

by 꽁이꽁설꽁돌 2024. 3. 19.
728x90
반응형

https://www.acmicpc.net/problem/18310

 

18310번: 안테나

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

www.acmicpc.net

문제

 

문제 풀이

최적부분 구조는 정렬했을 때 크기가 짝수이면 중간 index-1 

크기가 홀수이면 가운데 중간 index이다.

 

 

 

코드 구현

#include<iostream>
#include<queue>
#include<algorithm>
#include<cmath>
using namespace std;
vector<int> arr;
int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int n, num, i, sum=0;
	cin >> n;
	for (i = 0; i < n; i++) {
		cin >> num;
		arr.push_back(num);
	}
	sort(arr.begin(), arr.end());
	if (arr.size() % 2 == 0) {
		cout << arr[arr.size() / 2 - 1];
	}
	else {
		cout << arr[arr.size() / 2];
	}

}

 

반응형