-
[BOJ][C++] 백준 1181 단어 정렬CS/Algorithm & Data Structure 2022. 11. 22. 08:48
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