[C++] BOJ 10814번 : 나이순 정렬
📝 문제
💻 실행 코드
// BOJ 10814번 : 나이순 정렬
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
bool compare(pair<int, string> a, pair<int, string> b){
// 사용자 정렬기준(첫번째 원소를 기준으로 오름차순)
if(a.first < b.first)
return true;
else
return false;
}
int main() {
int n;
cin >> n;
vector<pair<int, string>> v(n); // 나이와 이름을 담을 벡터 생성
for(int i = 0; i < n; i++){
cin >> v[i].first >> v[i].second;
}
// compare함수를 이용해 같은 값일 때 들어온 순서대로 정렬하게 함
stable_sort(v.begin(), v.end(), compare);
for(int i = 0; i < n; i++){
cout << v[i].first << " " << v[i].second << "\n";
}
}
📚 문제 풀이
pair<type, type> 이란?
- 2개의 각각 지정한 타입의 값을 저장
- 저장한 값은
.first
,.second
로 접근할 수 있음
stable sort() 함수란?
- 정렬해야 할 원소가 같은 경우
sort()
함수로 정렬한다면 어떤 원소가 앞에 올지 예측 불가능 stable sort()
함수로 정렬하면 앞의 원소 순서대로 정렬 가능- 정렬 기준은
compare()
함수를 따르는데, 오름차순으로 정렬
✅ 실행 결과
Author And Source
이 문제에 관하여([C++] BOJ 10814번 : 나이순 정렬), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kwonjeong/C-Baekjoon-10814번-나이순-정렬저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)