プログラマ-文字列内で任意にソート
3733 ワード
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<string> solution(vector<string> strings, int n) {
vector<string> answer;
vector<pair<int, string>> vector;
for(int i=0; i<strings.size(); i++)
{
vector.push_back(make_pair(strings[i][n], strings[i]));
}
sort(vector.begin(),vector.end());
for(int i=0; i<strings.size(); i++)
{
answer.push_back(vector[i].second);
}
return answer;
}
[方法1]1. vector
2. V.push_back(make_pair(Type1,Type2));
後続のVがSort関数であれば、
V.firstでSortを作る
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
pairとmake pairの活用に詳しい!
[方法2]
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int number;
bool cmp(string a, string b)
{
if(a[number] != b[number])
{
return a[number]<b[number];
}
else
{
return a<b;
}
}
vector<string> solution(vector<string> strings, int n) {
vector<string> answer;
number = n;
sort(strings.begin(), strings.end(), cmp);
for(int i=0; i<strings.size(); i++)
{
answer.push_back(strings[i]);
}
return answer;
}
方法2.Sort関数を利用する.sort関数パラメータの3番目は関数です.
bool cmp(Type Cmp1, Type Cmp2)
{
return Cmp1 > Cmp2; : 降順
}
{
return Cmp1 < Cmp2; : 昇順
}
この形はよく使います.熟知している.
Reference
この問題について(プログラマ-文字列内で任意にソート), 我々は、より多くの情報をここで見つけました https://velog.io/@imalive77/프로그래머스-문자열-내-마음대로-정렬하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol