Study hard

(c++)백준 11656번: 접미사 배열 본문

백준/여러가지 문제들

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

Nimgnoej 2020. 6. 13. 16:40

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