🔗문제 풀러가기
단계별로 풀어보기 단계 13의 9번째 문제이다.
길이가 짧은 것부터 정렬하고
길이가 같으면 사전 순으로 정렬하는 함수를 만들어
algorithm의 sort를 이용해 해결하였다.
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
bool compare(string a, string b)
{
if (a.length() == b.length())
{
return a < b;
}
return a.length() < b.length();
}
int main()
{
int n;
cin >> n;
vector<string> vec;
for (int i = 0; i < n; i++)
{
string input;
cin >> input;
if (find(vec.begin(), vec.end(), input) == vec.end())
{
vec.push_back(input);
}
}
sort(vec.begin(), vec.end(), compare);
for (string a : vec)
{
cout << a << "\n";
}
}