have to do_yeon
[백준 / C++] 10814. 나이순 정렬 본문
https://www.acmicpc.net/problem/10814
10814번: 나이순 정렬
온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을
www.acmicpc.net
위 문제는 pair과 sort 개념을 활용하여 풀면 쉽게 풀 수 있다.
비교해주는 함수를 첫번째 인자만 사용해서 비교하게 한다.
그리고 함수를 정렬할 때 sort가 아닌 stable_sort를 사용해야 정답으로 인정된다. 첫번째 인자가 같을 경우 들어온 순서대로 정렬하게 한다.
제출 답안
#include <iostream>
#include <algorithm>
using namespace std;
int comp(pair<int, string> x, pair<int, string> y){
return x.first < y.first;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int N;
cin>> N;
pair<int, string> arr[N];
for(int i = 0; i < N; i++){
cin>> arr[i].first >> arr[i].second;
}
stable_sort(arr, arr + N, comp);
for(int i = 0; i < N; i++){
cout<< arr[i].first << " " << arr[i].second << "\n";
}
}
'C++ > Baekjoon (C++)' 카테고리의 다른 글
[백준 / C++] 7568. 덩치 (0) | 2022.08.27 |
---|---|
[백준 / C++] 2869. 달팽이는 올라가고 싶다 (0) | 2022.08.25 |
[백준 / C++] 1978. 소수 찾기 (0) | 2022.08.20 |
[백준 / C++] 1436. 영화감독 숌 (0) | 2022.08.20 |
[백준 / C++] 1181. 단어 정렬 (0) | 2022.08.20 |
Comments