삼성 모의 테스트 8825. 홀수 중간값 피라미드2
출처 https://swexpertacademy.com/main/solvingProblem/solvingProblem.do
구현은 간단 시간복잡도는 알고리즘 단계의 최적화 문제가 아니고 자잘한 변수 설정같은데서 얻는 문제
별로 유익하진 않았음.
#include <iostream>
#include <vector>
#include<algorithm>
using namespace std;
int main(int argc, char** argv)
{
int N;
int test_case;
int T;
cin>>T;
/*
여러 개의 테스트 케이스가 주어지므로, 각각을 처리합니다.
*/
for(test_case = 1; test_case <= T; ++test_case)
{
cin >> N;
register int MAX = 2*N -1;
register int *arr = new int[MAX];
vector vec;
for(int i = 0; i < MAX; i++)
{
cin >> arr[i];
}
while(MAX > 1)
{
for(register int i = 1; i<MAX-1; i++)
{
vec.push_back(arr[i-1]);
vec.push_back(arr[i]);
vec.push_back(arr[i+1]);
sort(vec.begin(),vec.end());
vector::iterator it = vec.begin();
it++;
arr[i-1] = *it;
vec.clear();
}
MAX -= 2;
}
cout <<"#"<<test_case<<" "<<arr[0]<<endl;
}
return 0;//정상종료시 반드시 0을 리턴해야합니다.
}