티스토리 뷰
알고리즘
- 문자열
- 정렬
성공 코드
#include <iostream>
#include <algorithm>
#include <vector>
#include <cstring>
using namespace std;
struct Word{
int length;
string content;
Word(string content){
this->length = content.size();
this->content = content;
}
bool operator<(Word &word){
// 길이가 다르면 길이 기준 오름차순 정렬
if(this->length != word.length){
return this->length<word.length;
} else{ // 길이가 같으면 사전 순으로 정렬
return this->content<word.content;
}
}
};
int main() {
// freopen("input.txt", "rt", stdin);
int n;
string w;
vector<Word> v;
cin >> n;
for(int i=0; i<n; i++){
cin >> w;
v.push_back(Word(w));
}
sort(v.begin(), v.end());
string tmp = " ";
for(int i=0; i<n; i++){
// 중복되는 단어 한번만 출력
if(v[i].content == tmp){
continue;
}
tmp = v[i].content;
cout << v[i].content << endl;
}
return 0;
}
'알고리즘' 카테고리의 다른 글
[백준 1654번/c++] 랜선 자르기 (0) | 2022.07.09 |
---|---|
[백준 10989번/c++] 수 정렬하기 3 (0) | 2022.07.03 |
[백준 1991번/c++] 트리 순회 (0) | 2022.02.09 |
[백준 2178번/c++] 미로 탐색(DFS 시간초과와 BFS) (0) | 2022.02.09 |
[백준 11659번/c++] 구간 합 구하기 4 (2) | 2022.01.30 |