개발/알고리즘

11656_접미사배열

송디 2020. 11. 15. 20:15

www.acmicpc.net/problem/11656

 

11656번: 접미사 배열

첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다.

www.acmicpc.net

문자열에 대한 함수를 활용하면 쉽게 풀 수 있다. substr로 시작점을 다르게 해서 문자열 그룹에 넣고 문자열 그룹을 정렬해주면 된다. 

 

전체코드

 

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
#include<iostream>
#include<string>
#include<cstring>
#include<vector>
#include<algorithm>
 
using namespace std;
 
string s;
 
int main(void){
    int len;
    vector<string> sgroup;
 
    cin >> s;
    len = 0;
    for(char c : s)
        len++;
    for(int i = 0;i < len;i++)
        sgroup.push_back(s.substr(i));
    sort(sgroup.begin(), sgroup.end());
    for(string ss : sgroup)
        cout << ss << '\n';
}
 
cs
728x90

'개발 > 알고리즘' 카테고리의 다른 글

10866_덱  (0) 2020.11.16
1158_요세푸스문제  (0) 2020.11.15
10824_네수  (0) 2020.11.15
11655_ROT13  (0) 2020.11.15
10820_문자열분석  (0) 2020.11.15