예지의 테크 로그포스 (Yeji's Tech Log Force)
[BOJ][C++] 백준 1181 단어 정렬 본문
1. 중복제거 - find함수 이용하여 push_back할지 말지 미리 결정(요소가 이미 있으면 벡터에 추가하지 않음)
2. 정렬(길이순, 길이가 같으면 사전순) - compare함수를 만들어 sort함수 이용.
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
bool compare(string p1, string p2) {
if (p1.length() == p2.length()) {
return p1 < p2;
}
return p1.length() < p2.length();
}
int main()
{
int N;
cin >> N;
vector<string> v;
for (int i = 0; i < N; i++) {
string str;
cin>>str;
if (find(v.begin(), v.end(), str) == v.end())
v.push_back(str);
}
sort(v.begin(), v.end(), compare);
for (int i = 0; i < v.size(); i++) {
cout << v[i] << "\n";
}
}
'CS > Algorithm & Data Structure' 카테고리의 다른 글
[BOJ][C++] 백준 10870 피보나치 수 5 (0) | 2022.11.22 |
---|---|
[BOJ][C++] 백준 10872 팩토리얼 (0) | 2022.11.22 |
[BOJ][C++] 백준 11650 좌표 정렬하기 (0) | 2022.11.20 |
[BOJ][C++] 백준 25305 커트라인 (0) | 2022.11.20 |
[BOJ][C++] 백준 2587 대표값2 (0) | 2022.11.20 |
Comments