문제링크 : https://www.acmicpc.net/problem/11656
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
const int MAX = 987654321;
string s;
vector<string>v;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> s;
for(int i=0; i<s.size(); i++)
{
string tmp = s.substr(i, s.size()); //문자열 자르기
v.push_back(tmp);
}
sort(v.begin(), v.end());
for(int i=0; i<v.size(); i++) cout << v[i] << "\n";
return 0;
}
주어진 문자열에 대해 우선 접미사를 구해 벡터에 담아준다.
substr 함수를 통해 한 칸씩 범위를 줄여 잘라가며 담아준다.
이후에 담았던 벡터를 정렬하고 각 요소를 출력해주면 된다.
'백준 > 실버' 카테고리의 다른 글
[백준 11728번] 배열 합치기 (C++) (0) | 2024.03.18 |
---|---|
[백준 1302번] 베스트셀러 (C++) (0) | 2024.03.15 |
[백준 11931번] 수 정렬하기 4 (C++) (0) | 2024.03.13 |
[백준 1449번] 수리공 항승 (C++) (0) | 2024.03.12 |
[백준 10867번] 중복 빼고 출력하기 (C++) (0) | 2024.03.11 |