꾸준히 합시다
백준 파이썬 5635번: 생일 본문
문제 유형: 구현, 정렬
# Solution 1
import sys
n = int(sys.stdin.readline())
arr = []
for _ in range(n):
data = 0
name, d, m, y = list(map(str, sys.stdin.readline().strip().split(' ')))
if len(d) == 1:
d = '0' + d
if len(m) == 1:
m = '0' + m
arr.append((name, y + m + d))
arr = sorted(arr, key=lambda x : int(x[1]))
print(arr[-1][0])
print(arr[0][0])
우선 이름, 일, 월, 연도를 이름, YYYYMMDD 형식으로 저장한다. 형식을 맞추기 위해 위해 월과 일이 한 자릿수(=길이가 1) 일 경우 앞에 0을 붙여준다. 날짜를 기준으로 정렬해준 뒤 새로 만들어진 리스트를 출력해보면 아래와 같다.
[('Jerry', '19900918'), ('Garfield', '19900920'), ('Alice', '19901230'), ('Mickey', '19911001'), ('Tom', '19930815')]
여기서 가장 어린 사람은 마지막 아이템의 인덱스 0번, 가장 나이 많은 사람은 첫 번째 아이템의 인덱스 0번을 출력해주면 된다.
'코딩 테스트 문제 풀이' 카테고리의 다른 글
백준 파이썬 1406번: 에디터 (0) | 2021.03.08 |
---|---|
백준 파이썬 1065번: 한수 (0) | 2021.03.07 |
백준 파이썬 1158번: 요세푸스 문제 (0) | 2021.03.06 |
백준 파이썬 15792번: A/B - 2 (0) | 2021.03.06 |
백준 파이썬 1924번: 2007년 (0) | 2021.03.05 |
Comments