-
[10814] 나이순 정렬CS/백준, 프로그래머스 풀이 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코드에서 내가 뭔가를 했었나??
예전에 푼거라 기억이 안난다
'CS > 백준, 프로그래머스 풀이' 카테고리의 다른 글
[16236] 아기상어 (1) _ 문제 설명 & 일부 코드 설명 (0) 2022.06.13 [11866] 요세푸스 문제 0 (0) 2022.06.12 [1620] 나는야 포켓몬 마스터 이다솜 (0) 2022.06.09 [2609] 최대공약수 최소공배수 (0) 2022.05.27 [1181] 단어정렬 (0) 2022.05.27