접미사 배열 11656

PublicMinsu·2023년 10월 10일
0
post-custom-banner

문제

접근 방법

문자열의 앞에서부터 하나씩 잘라가면 모든 접미사를 알 수 있다. 구한 접미사를 벡터에 집어넣고 정렬하면 사전 순으로 정렬된 S의 접미사를 알 수 있다.

코드

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<string> v;
string S;
int main()
{
    ios::sync_with_stdio(0), cin.tie(0);
    cin >> S;
    while (!S.empty())
    {
        v.push_back(S);
        S.erase(S.begin());
    }
    sort(v.begin(), v.end());
    for (string i : v)
        cout << i << "\n";
    return 0;
}

풀이

앞에서부터 잘라가거나(erase) 길이로 잘라내거나(substr) 빈 문자열에 뒤에서부터 시작하여 앞으로 가는 방식으로 추가하는 식으로(현재 값+누적값) 접미사를 구할 수 있다.

profile
연락 : publicminsu@naver.com
post-custom-banner

0개의 댓글