문제링크 : https://www.acmicpc.net/problem/2548
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main(void) {
ios_base::sync_with_stdio(false);
cin.tie(0);
int N;
cin >> N;
int arr[20001];
for(int i=0; i<N; i++)
{
cin >> arr[i];
}
sort(arr, arr+N);
if(N%2 == 0) //중앙값이 2개인 경우
{
cout << arr[N/2-1]; //더 작은 중앙값 출력
}
else
{
cout << arr[N/2];
}
return 0;
}
브루트포싱으로 일일이 전부 확인하여 풀 수도 있지만, 중앙값을 찾는 방식으로 접근하면 훨씬 간단하게 풀 수 있다.
'백준 > 실버' 카테고리의 다른 글
[백준 19583번] 싸이버개강총회 (C++) (0) | 2023.03.02 |
---|---|
[백준 1802번] 종이 접기 (C++) (0) | 2023.03.01 |
[백준 4307번] 개미 (C++) (0) | 2023.02.26 |
[백준 6588번] 골드바흐의 추측 (C++) (0) | 2023.02.25 |
[백준 6591번] 어항 쇼다운 (C++) (0) | 2023.02.25 |