출처 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을 리턴해야합니다.
}
'Algorithm' 카테고리의 다른 글
2112. [모의 SW 역량테스트] 보호 필름 (0) | 2019.11.07 |
---|---|
2382. [모의 SW 역량테스트] 미생물 격리 (0) | 2019.11.04 |
백준 1405번 미친 로봇 (0) | 2019.10.30 |
[S/W 문제해결 응용] 2일차 - 최대 상금 (0) | 2019.10.29 |
백준 11383번 뚊 (0) | 2019.10.28 |