백준/실버
[백준 11536번] 줄 세우기 (C++)
게임개발기원
2024. 5. 2. 14:52
문제링크 : https://www.acmicpc.net/problem/11536
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
const int MAX = INT_MAX;
int N;
string s;
vector<string>v;
vector<string>v1;
vector<string>v2;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> N;
for(int i=0; i<N; i++)
{
cin >> s;
v.push_back(s);
v1.push_back(s);
v2.push_back(s);
}
sort(v1.begin(), v1.end()); //오름차순
sort(v2.begin(), v2.end(), greater<>()); //내림차순
if(v == v1) cout << "INCREASING";
else if(v == v2) cout << "DECREASING";
else cout << "NEITHER";
return 0;
}
기본 문자열을 저장하는 벡터를 저장해두고,
해당 벡터를 기준으로 오름차순 정렬, 해당 벡터를 기준으로 내림차순 정렬을 해준다.
이후 원본 벡터와 정렬한 벡터들의 값을 비교해서 오름차순과 같다면 INCREASING을, 내림차순과 같다면 DECREASING을, 둘 모두 아니라면 NEITHER를 출력하게 된다.