Study hard
(c++)백준 11656번: 접미사 배열 본문
https://www.acmicpc.net/problem/11656
11656번: 접미사 배열
첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다.
www.acmicpc.net
[풀이]
1. C++ STL string의 내장 함수인 substr을 사용하여 모든 접미사를 vector에 저장한다.
2. vector을 C++ STL algorithm의 내장 함수인 sort로 정렬한다.
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>//sort
using namespace std;
string str;
vector<string>v;//접미사 저장
void solution() {
cin >> str;
int Len = str.size();
for (int i = 0; i < Len; i++) {
string tmp = str.substr(i, Len - i);
v.push_back(tmp);
}
sort(v.begin(), v.end());
for (int i = 0; i < v.size(); i++) {
cout << v[i] << endl;
}
}
int main() {
solution();
return 0;
}
'백준 > 여러가지 문제들' 카테고리의 다른 글
(c++)백준 1158번: 요세푸스 문제 (0) | 2020.06.14 |
---|---|
(c++)백준 1406번: 에디터 (0) | 2020.06.14 |
(c++)백준 10824번: 네 수 (0) | 2020.06.13 |
(c++)백준 11655번: ROT13 (0) | 2020.06.13 |
(c++)백준 10820번: 문자열 분석 (0) | 2020.06.12 |