문자열 - 문자열 내 마음대로 정렬하기
Updated:
C++
문자열 - 문자열 내 마음대로 정렬하기
문제
문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다.
접근 방법
sort 함수를 응용하여 사용한다.
코드
#include <string>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int N;
bool comp(string a, string b){
if(a[N] != b[N]){ //string의 n 자리 값이 다른 경우
return a[N] < b[N];
}
else{ //string의 n 자리 값이 같은 경우.
return a < b;
}
}
vector<string> solution(vector<string> strings, int n) {
vector<string> answer;
N = n;
sort(strings.begin(), strings.end(), comp);
for(int i = 0; i < strings.size(); i++){
answer.push_back(strings.at(i));
}
return answer;
}
int main() {
vector<string> val = solution({"abce", "abcd", "cdx"}, 2);
for (int i = 0; i < val.size(); i++) {
cout << val[i] << "\n";
}
return 0;
}