728x90
20240501 백준 파이썬 공부
5635번 생일
1. 문제
어떤 반에 있는 학생들의 생일이 주어졌을 때,
가장 나이가 적은 사람과 가장 많은 사람을 구하는 프로그램을 작성하시오.
2. 입력
첫째 줄에 반에 있는 학생의 수 n이 주어진다. (1 ≤ n ≤ 100)
다음 n개 줄에는 각 학생의 이름과 생일이 "이름 dd mm yyyy"와 같은 형식으로 주어진다.
이름은 그 학생의 이름이며, 최대 15글자로 이루어져 있다.
dd mm yyyy는 생일 일, 월, 연도이다.
(1990 ≤ yyyy ≤ 2010, 1 ≤ mm ≤ 12, 1 ≤ dd ≤ 31)
주어지는 생일은 올바른 날짜이며, 연, 월 일은 0으로 시작하지 않는다.
이름이 같거나, 생일이 같은 사람은 없다.
3. 출력
첫째 줄에 가장 나이가 적은 사람의 이름, 둘째 줄에 가장 나이가 많은 사람 이름을 출력한다.
>>>코드1. 단순 비교
yd, ym, yy = 1, 1, 1990
od, om, oy = 31, 12, 2010
for _ in range(int(input())):
name, dd, mm, yyyy = input().split()
if yy*10000 + ym*100 + yd < int(yyyy)*10000 + int(mm)*100 + int(dd):
yd, ym, yy = int(dd), int(mm), int(yyyy)
young_name = name
if oy*10000 + om*100 + od > int(yyyy)*10000 + int(mm)*100 + int(dd):
od, om, oy = int(dd), int(mm), int(yyyy)
old_name = name
print(young_name)
print(old_name)
>>>코드2. 리스트와 sort이용
birthday = []
for _ in range(int(input())):
name, dd, mm, yyyy = input().split()
birthday.append([int(yyyy), int(mm), int(dd), name])
birthday.sort()
print(birthday[-1][3])
print(birthday[0][3])
728x90
'백준 > 백준 파이썬' 카테고리의 다른 글
백준 파이썬 2748번 피보나치 수 2 (Today I Learn 2024.05.03) (0) | 2024.05.03 |
---|---|
백준 파이썬 2747번 피보나치 수 (Today I Learn 2024.05.02) (0) | 2024.05.02 |
백준 파이썬 11098번 첼시를 도와줘! (Today I Learn 2024.04.30) (1) | 2024.04.30 |
백준 파이썬 26099번 설탕 배달 2 (Today I Learn 2024.04.29) (0) | 2024.04.29 |
백준 파이썬 11557번 Yangjojang of The Year (Today I Learn 2024.04.28) (1) | 2024.04.28 |