336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
https://www.acmicpc.net/problem/11656
접미사 문제다. 문자열안의 substring들은 substr() 함수를 통해 쉽게 구할 수 있다.
쉽게 정렬하기 위해 vector(vector 헤더)를 사용했고 생겨나는 접미사들은 vector 안에 넣어뒀다.
모두 생성 후 sort 함수(algorithm 헤더)를 이용하여 순서대로 정렬한 뒤 출력했다.
#####Vector에 대하여#####
vector는 c++에서 동적 배열을 의미한다.
선언은 vector<자료형> 변수명; 으로 선언 가능하며 넣을 때는 push_back(넣을 자료) 함수를 사용하면 된다.
벡터에서 자료를 볼 때 at(인덱스)함수를 쓰거나 배열 참조처럼 [인덱스]를 사용해도 되나
at 함수는 예외처리로 인해 속도가 조금 느려 확실하게 짚고 넘어가야할 프로그램에서 사용하는 게 좋다.
size() 함수는 벡터 안 자료의 개수를 리턴함.
capacity() 함수는 할당된 메모리의 크기를 리턴함.
더 자세한 내용은 아래 블로그를 참고하면 좋을 듯하다.
http://hyeonstorage.tistory.com/324
######################
소스 코드는 다음과 같이 작성했다.
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 26 27 28 29 | #include <iostream> #include <string> #include <vector> #include <algorithm> using namespace std; int main() { ios_base::sync_with_stdio(false); string s; cin >> s; vector<string> strVector; string temp; strVector.push_back(s); for (int i = 1; i < s.size(); i++) { temp = s.substr(i, s.size() - 1); strVector.push_back(temp); } sort(strVector.begin(), strVector.end()); for (string t : strVector) cout << t << endl; return 0; } | cs |
'PS > 백준 문제풀이' 카테고리의 다른 글
[백준 2581] 소수 (0) | 2019.08.05 |
---|---|
[백준 1008] A/B (0) | 2019.08.05 |
[백준 10809] 알파벳 찾기 (0) | 2018.03.30 |
[백준 10808] 알파벳 개수 문제 (0) | 2018.03.29 |
[백준 1158] 조세퍼스 순열 문제 (0) | 2018.03.28 |