알고리즘
[algorithm] 백준 5635 - 생일 (파이썬)
hyuuny
2022. 9. 30. 12:50
📚 문제
입력
출력
예제 입력
5
Mickey 1 10 1991
Alice 30 12 1990
Tom 15 8 1993
Jerry 18 9 1990
Garfield 20 9 1990
예제 출력
Tom
Jerry
🧑🏻💻 풀이 과정
- 이름, 일자, 월. 년을 입력받아, 일자나 월이 한 자리라면 앞에 0을 추가해서 두 자리로 만든 뒤 arr에 추가하자.
- arr의 생년월일을 기준으로 정렬하자. (
sorted_arr = sorted(arr, key=lambda x: x[1])
) - 정렬된 데이터의 맨 뒤가 가장 나이가 적은 사람(
sorted_arr[-1][0]
), 맨 앞이 가장 나이가 많은 사람(sorted_arr[0][0]
)이다.
def init():
arr = []
for _ in range(int(input())):
name, d, m, y = map(str, input().rstrip().split())
if len(m) == 1: m = '0' + m
if len(d) == 1: d = '0' + d
arr.append([name, y + m + d])
return arr
def birth_day(arr):
sorted_arr = sorted(arr, key=lambda x: x[1])
print(sorted_arr[-1][0])
print(sorted_arr[0][0])
def solve():
arr = init()
birth_day(arr)
solve()