CS/백준, 프로그래머스 풀이
[10814] 나이순 정렬
JDJ
2022. 5. 27. 02:57
n = int(input())
item_list = []
for _ in range(n):
age, name = map(str, input().split())
age = int(age)
item_list.append((age, name))
item_list.sort(key=lambda x : x[0]) #age 비교
for i in item_list:
print(*i)
정답으로 제출한 파이썬 코드
나이순으로 정렬만 해주면 끝난다.
그런데 새삼 느낀 것은
아래는 같은 문제 C++코드인데
#include<iostream>
#include<algorithm>
using namespace std;
struct Node {
int x;
char y[200];
int z;
};
bool compare(Node a, Node b) {
return a.x != b.x ? a.x < b.x : a.z < b.z;
}
int main() {
Node b[100000];
int numb;
cin >> numb;
for (int i = 0; i < numb; ++i) {
cin >> b[i].x >> b[i].y;
b[i].z = i;
}
sort(b, b + numb, compare);
for (int i = 0; i < numb; ++i) {
cout << b[i].x <<" "<< b[i].y<<'\n';
}
return 0;
}
엄청난 시간차이를 보인다.
compare코드에서 내가 뭔가를 했었나??
예전에 푼거라 기억이 안난다