반응형
문제
풀이
string.substr() 함수를 이용하여 부분적으로 문자열을 추출했다.
아래는 substr() 함수에 대한 설명이다.
#include <string> //substr() 함수를 사용하기 위한 헤더 파일 <string>
string str = "CandyShop";
// str.substr(첫 번째 문자의 위치, 추출할 문자열의 길이);
str.substr(); // CandyShop | 인수가 없으면, 문자열 그대로 반환
str.substr(1); // andyShop | 시작 인수만 있다면, 해당 인덱스부터 마지막까지
str.substr(2); // ndyShop
str.substr(3); // dyShop
str.substr(4, 3); // ySh
string 형식의 vector을 선언하고, substr() 함수를 이용해 모든 접미사를 구해 vector에 저장했다.
string s;
vector<string> v; // string 형식의 vector 선언
cin >> s;
// 모든 접미사를 찾아 vector에 저장
for (int i = 0; i < s.length(); i++) {
v.push_back(s.substr(i)); // 문자열을 추출하는 substr 이용
}
마지막으로, sort() 함수를 이용해 접미사들을 사전 순으로 정렬했다.
sort(v.begin(), v.end());
코드
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main() {
string s;
vector<string> v;
cin >> s;
// 모든 접미사를 찾아 vector에 저장 - 문자열을 부분 추출하는 substr 이용
for (int i = 0; i < s.length(); i++) {
v.push_back(s.substr(i));
}
// 벡터를 사전 순으로 정렬
sort(v.begin(), v.end());
for (int i = 0; i < s.length(); i++) {
cout << v.at(i) << "\n";
}
return 0;
}
결과
반응형
'Programming > C++ - 백준' 카테고리의 다른 글
[백준] C++로 풀이 시 시간 초과가 난다면? (0) | 2024.03.28 |
---|---|
[백준] 1431번 : 시리얼 번호 | vector 구조체 (C++) (2) | 2024.03.18 |
[백준] 10825번 : 국영수 (C++) (2) | 2024.03.14 |
[백준] 11650번 : 좌표 정렬하기 | Sort 함수와 Compare & Array와 Vector 풀이 (C++) (0) | 2024.03.14 |
[백준] 11931번 : 수 정렬하기 4 (C++) (0) | 2024.03.13 |
댓글