-
백준 10814 - 나이순 정렬백준 algorithm 2020. 7. 23. 20:07반응형
=> pair형 vector 두 개를 사용해서 풀었습니다.
=> DB속 정규화 개념을 이용해 풀었습니다.
=> 입력되어지는 순서를 테이블 A와 B가 공유하는 값으로 설정하고, <seq, age> <seq, name> 형 pair를 생성하였습니다.
https://codingham.tistory.com/184
=> 좌표 정렬하기에서 사용한 비교 함수를 사용해서 <seq, age>를 정렬한 후, 원하는 값을 출력하였습니다.
<code>
#include <iostream> #include <algorithm> #include <string> #include <vector> using namespace std; bool cmp(const pair<int, int> &a, const pair<int, int> &b) { if (a.second == b.second) { return a.first < b.first; } else { return a.second < b.second; } } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int N; cin >> N; vector<pair<int, int>> Num_Age; vector<pair<int, string>> Num_Name; int seq=0; for(int i=0; i<N; i++) { int age; cin >> age; string name; cin >> name; pair<int, int> tmp = make_pair(seq, age); pair<int, string> tmp2 = make_pair(seq++, name); Num_Age.push_back(tmp); Num_Name.push_back(tmp2); } sort(Num_Age.begin(), Num_Age.end(),cmp); for(int i=0; i<Num_Age.size(); i++) { cout << Num_Age[i].second << " "<<Num_Name[Num_Age[i].first].second<<'\n'; } return 0; }
반응형'백준 algorithm' 카테고리의 다른 글
백준 1094 - 막대기 (0) 2020.08.09 백준 1264 - 모음의 개수 (1) 2020.07.24 백준 11650 - 좌표 정렬하기 (0) 2020.07.23 백준 2667 - 단지번호붙이기 (0) 2020.07.23 백준 1015 - 수열 정렬 (0) 2020.07.15