본문 바로가기

백준/C++

[C++] 백준 5635번 - 생일

728x90

 

문제 5635번

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

 

찾아보니까 pair안에 pair을 넣을 수 있는 것을 알았다. 순서가 이름, 일, 월, 연도 이런 식으로 되어있으니 벡터에 반대로 저장해서 정렬을 해주면 나이가 많은 사람부터 순서대로 벡터에 저장된다. 나이가 가장 적은 사람과 가장 많은 사람을 출력해야하므로 맨뒤에 있는 사람과 맨 앞에 있는 사람을 출력해주면 된다.

 

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

int main() {
    int N;
    cin >> N;

    vector<pair<pair<int, int>, pair<int, string>>> v(N);
    for (int i = 0; i < N; i++) {
        cin >> v[i].second.second >> v[i].second.first >> v[i].first.second >> v[i].first.first;
    }
    sort(v.begin(), v.end());

    cout << v[N - 1].second.second << '\n' << v[0].second.second << '\n';
    return 0;
}

 

 

 

 

728x90

'백준 > C++' 카테고리의 다른 글

[C++] 백준 19532번 - 수학은 비대면강의입니다  (0) 2024.05.14
[C++] 백준 2231번 - 분해합  (0) 2024.05.13
[C++] 백준 11652번 - 카드  (0) 2024.05.12
[C++] 백준 9946번 - 단어 퍼즐  (0) 2024.05.11
[C++] 백준 10610번 - 30  (0) 2024.05.10