문제
접근
람다는 쓰면 쓸수록 정말 편리하다.
C++은 직접 비교함수를 만들어주었다.
n을 인자로 주고 싶었는데 방법이 없어서 그냥 전역변수로 넘겼다.
코드
- 파이썬 코드
1
2
3
def solution(strings, n):
strings.sort()
return sorted(strings, key = lambda x : x[n])
- C++ 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int N;
bool cmp(string a, string b){
if(a[N] == b[N]){
return a < b;
}
else{
return a[N] < b[N];
}
}
vector<string> solution(vector<string> strings, int n) {
N = n;
sort(strings.begin(), strings.end(), cmp);
return strings;
}