PS/문자열 알고리즘[String]

백준 11656 접미사 배열(c++)

SeungbeomKim 2022. 7. 8. 16:08

https://www.acmicpc.net/problem/11656

 

11656번: 접미사 배열

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

www.acmicpc.net

<코드>

#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;

int main()
{
	string str;
	vector<string>v;
	cin>>str;
	for(int i=0;i<str.size();i++)
	{
		string ans = "";
		for(int j=i;j<str.size();j++)
		{
			ans += str[j];
		}
		v.push_back(ans);
	}
	sort(v.begin(),v.end());
	for(int i=0;i<v.size();i++)
	{
		cout<<v[i]<<'\n';
	}
}

<풀이과정>

baekjoon의 접미사는 인덱스가 i= 0~7부터 7까지 총 8개의 배열이다. string 벡터 배열에 각각의 접미사 배열을 추가해주고 정렬시켜주면 끝이다. 

'PS > 문자열 알고리즘[String]' 카테고리의 다른 글

백준 1120 문자열(c++)  (0) 2022.07.08
백준 1431 시리얼 번호(c++)  (1) 2022.07.08
백준 1212 8진수 2진수(c++)  (0) 2022.07.06
백준 1373 2진수 8진수(c++)  (0) 2022.07.06
백준 14425 문자열 집합(c++)  (0) 2022.07.06