티스토리 뷰
https://www.acmicpc.net/problem/1251
Java와 달리 C++은 substr()에서 두 번째 인자가 몇 개를 가져올 지를 의미한다.
- Java : [0,2): 0번 인덱스부터 1번 인덱스까지의 문자열을 가져온다.
- C++ : [0,2) : 0번 인덱스부터 2개의 문자열을 가져온다.
#include <bits/stdc++.h>
using namespace std;
int main() {
string str;
getline(cin, str);
vector<string> v;
int n = str.length();
int idx1 = 1, idx2 = 1;
for (int j = 1; j < n - 1; j++) {
for (int k = j + 1; k < n; k++) {
string s1 = str.substr(0, idx1);
string s2 = str.substr(j, idx2);
string s3 = str.substr(k);
idx2++;
reverse(s1.begin(), s1.end());
reverse(s2.begin(), s2.end());
reverse(s3.begin(), s3.end());
v.push_back(s1 + s2 + s3);
}
idx1++;
idx2 = 1;
}
sort(v.begin(), v.end());
cout << v[0];
}