반응형
https://www.acmicpc.net/problem/5635
풀이방법
<학생명, 일, 월, 년>의 자료를 가진 tuple형들을 vector에 담았습니다. 그 후 더 늦게 태어난 동생부터 형순으로 정렬한 뒤 v[0]번째 위치한 학생과 v[v.size() - 1]번째 위치한 학생의 이름을 각각 출력해줬습니다.
Code
#include <bits/stdc++.h>
using namespace std;
using tsiii = tuple <string, int, int, int>;
int n;
vector <tsiii> v;
bool cmp(tsiii &a, tsiii &b){
int ad = get<1>(a);
int am = get<2>(a);
int ay = get<3>(a);
int bd = get<1>(b);
int bm = get<2>(b);
int by = get<3>(b);
if(ay == by){
if(am == bm) return ad > bd;
return am > bm;
}
return ay > by;
}
int main(){
cin >> n;
while(n--){
string s;
int day, month, year;
cin >> s >> day >> month >> year;
v.push_back({s,day,month,year});
}
sort(v.begin(),v.end(),cmp);
tsiii young = v[0], old = v[v.size()-1];
cout << get<0>(young) << '\n' << get<0>(old);
}
'Algorithm > 자료구조' 카테고리의 다른 글
(C++) - 프로그래머스(고득점 kit - Hash) : 위장 답 (0) | 2021.02.02 |
---|---|
(C++) - 백준(BOJ) 11279번 : 최대 힙 답 (0) | 2020.09.11 |
(C++) - 백준(BOJ)코딩 2056번:작업 답 (0) | 2017.02.16 |
(C++) - 백준(BOJ) 10828번 : 스택(stack) 답 (0) | 2016.09.23 |
(C++) - 백준(BOJ) 10845번 : 큐(queue) (0) | 2016.09.23 |