Algorithm/프로그래머스

[프로그래머스/C++] 문자열 내 마음대로 정렬하기

pinevienna 2021. 2. 16. 23:14

 

 

strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로

오름차순 정렬하여 반환하는 문제

 

 

정렬 조건을 건드리는 문제라 예전에 백준 문제 풀때 연산자 오버로딩 했던게 생각났다

n번째 문자로 비교하도록 해주면 끝

 

[백준 알고리즘/BOJ/C++] 10814 나이순 정렬

회원들을 나이순으로, 나이가 같다면 가입순으로 정렬하는 문제 가입순으로 입력되므로 나이가 같다면 사전순으로 정렬하지 말라는 문제다 1 2 3 4 5 6 bool compare(pair  a, pair  b) {     if (a.fi..

pinevienna.tistory.com

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
 
int i;
 
bool compare(string a, string b) {
    return a[i] == b[i] ? a < b : a[i] < b[i];
}
 
vector<string> solution(vector<string> strings, int n) {
    i = n;
    sort(strings.begin(), strings.end(), compare);
    return strings;
}
cs

 

풀고나서 다른 사람 답을 보니까 compare 식도 예쁘고

바로 strings를 반환하길래 따라했다ㅎㅎ