본문 바로가기

알고리즘 공부/백준 > Python3

[백준 파이썬] #5635: 생일

https://www.acmicpc.net/problem/5635

 

5635번: 생일

어떤 반에 있는 학생들의 생일이 주어졌을 때, 가장 나이가 적은 사람과 가장 많은 사람을 구하는 프로그램을 작성하시오.

www.acmicpc.net

 

[정답]

 

1. 반에 있는 학생의 수 N을 입력받는다. 

2. 학생들의 정보를 담을 리스트 student을 정의한다. for문을 돌면서 학생들의 정보를 받아 student에 추가한다.

3. student를 나이가 작은 순으로 정렬한다.

student.sort(reverse=True,key=lambda x:(int(x[3]), int(x[2]), int(x[1]))) → x[3]: 연도, x[2]: 월, x[1]: 일 기준으로 정렬을 하면 나이의 내림차순이므로 reverse=True을 하여 나이의 오름차순으로 바꾸어준다.

4. 최종적으로 student[0][0] 즉 나이가 적은 사람의 이름과 student[-1][0] 즉 나이가 많은 사람의 이름을 출력한다.