본문 바로가기

Coding/백준 온라인 저지 (Baekjoon Online Judge)

백준 온라인 저지(Baekjoon Online Judge) - 10814 : 나이순 정렬

https://www.acmicpc.net/problem/10814

 

10814번: 나이순 정렬

온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을

www.acmicpc.net

 

#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
using namespace std;

struct Member {
    int age;
    string name;
    int join_order;
};

bool cmp(const Member& m1, const Member& m2) {
    if (m1.age == m2.age) {
        return m1.join_order < m2.join_order;
    }
    return m1.age < m2.age;
}

int main() {
    int n;
    cin >> n;
    vector<Member> members(n);
    for (int i = 0; i < n; i++) {
        cin >> members[i].age >> members[i].name;
        members[i].join_order = i;
    }

    sort(members.begin(), members.end(), cmp);

    for (int i = 0; i < n; i++) {
        cout << members[i].age << ' ' << members[i].name << '\n';
    }

    return 0;
}