https://www.acmicpc.net/problem/1181
##문제 풀기 전 내가 알고 있었어야 할 개념: (작성중)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#define SIZE 20000
using namespace std;
void init() {
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
}
bool compare(string a, string b) {
if (a.size() == b.size()) {
return a < b;
}
else {
return a.size() < b.size();
}
}
int main() {
init();
int N;
string input;
vector<string> V;
vector<string>::iterator it;
cin >> N;
for (int i = 0; i < N; i++) {
cin >> input;
V.push_back(input);
}
sort(V.begin(), V.end(), compare);
/* 나의 틀린 코드 :
for (int i = 0; i < N; i++) {
cout << V[i] << '\n';
if (i != N - 1) {
if (V[i] == V[i + 1]) {
it = V.begin() + i + 1;
it = V.erase(it);
N--;
}
}
}
*/
//수정 후
// 중복 원소 제거
auto last = unique(V.begin(), V.end());
V.erase(last, V.end());
// 결과 출력
for (const string& s : V) {
cout << s << '\n';
}
return 0;
}
|
cs |
'백준(C++) > 정렬' 카테고리의 다른 글
[BOJ/C++]18870번_좌표 압축 (0) | 2024.07.11 |
---|---|
[BOJ/C++]10814번_나이순 정렬 (0) | 2024.07.11 |
[BOJ/C++]11651번_좌표 정렬하기2 (0) | 2024.07.10 |
[BOJ/C++]10989번_수정렬하기3 (0) | 2024.07.10 |
[BOJ/C++]25305번_커트라인 (0) | 2024.07.10 |