[C++풀이] 문자열 내 마음대로 정렬하기
📄 난이도 : 1 📄 언어 : C++
🔶 풀이법
정렬을 해야하는데 조건이 두개.
- n번째 글자를 기준으로 할 것
- n번째 글자가 같다면 기존 사전식 정렬을 할것
algorithm의 sort를 사용하고, 비교함수를 직접 작성하여 풀었다.
2번조건을 우선 검사하여, 글자가 같을 경우엔 일반적인 string sort 하듯이 했고, 그 외에는 n번째를 기준으로 정렬시켰다.
✔ 풀이 코드
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int num;
bool cmp(const string& a, const string& b)
{
int tmp = num;
if(a[tmp] == b[tmp])
return a<b;
return a[tmp] < b[tmp];
}
vector<string> solution(vector<string> strings, int n) {
num = n;
sort(strings.begin(),strings.end(),cmp);
return strings;
}
(문제번호: 08)