[백준] 5635 생일 (C++)
문제 링크 : https://www.acmicpc.net/problem/5635
풀이 및 구현
이름 dd mm yyyy
형식으로 입력이 주어졌을 때 가장 나이가 적은 사람과 가장 나이가 많은 사람을 찾으면 되는 문제이다.
생일이 같거나, 이름이 같은 사람은 없으므로 단순하게 연도, 월, 일 순으로 정렬하면 된다.
간편하게 정렬하기 위해 tuple
STL을 이용했다. tuple
은 정렬을 할 때 제일 앞에 원소부터 정렬이 되기 때문에 tuple<int, int, int, string>
형식으로 선언하고 연도, 월, 일, 이름 순으로 저장해주었다.
1 | vector<tuple<int, int, int, string>> v(N); |
이후 정렬을 하고 맨 뒤의 원소의 이름과 맨 앞의 원소의 이름을 출력하면 된다.
코드
1 |
|
후기
tuple
을 사용하면 구조체를 정의하고, 연산자를 따로 오버로딩 할 필요 없어 간단한 문제였다.