SWEA
SWEA 1256 K번째 접미어 C++
돌잔
2021. 7. 7. 21:41
문제: SW Expert Academy 1256 K번째 접미어
SWEA 1257 K번째 문자열(https://jinho9610.tistory.com/14)과 굉장히 유사하거나 거의 동일한 문제이다.
이번에는 부분 문자열이 아니라 접미어를 모두 구해서 저장하면 되기 때문에, 중복이 발생할 일이 없어서 단순히 벡터를 사용하고 정렬해주면 되는 문제이다.
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
|
/* SWEQ 1256 k번째 접미어 */
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <queue>
#include <vector>
#include <algorithm>
#include <cstring>
#include <string>
#include <string.h>
#define endl '\n'
using namespace std;
typedef long long ll;
int t, T, k;
string num;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
freopen("input.txt", "r", stdin);
string name = "jinho";
cin >> T;
for (t = 1; t <= T; t++)
{
cin >> k >> num;
vector<string> suffix;
for (int i = 0; i < num.length(); i++)
suffix.push_back(num.substr(i, num.length()));
sort(suffix.begin(), suffix.end());
cout << "#" << t << " " << suffix[k - 1] << endl;
}
return 0;
}
|
cs |