[백준/BOJ][Python] 5635번 생일
https://www.acmicpc.net/problem/5635
5635번: 생일
어떤 반에 있는 학생들의 생일이 주어졌을 때, 가장 나이가 적은 사람과 가장 많은 사람을 구하는 프로그램을 작성하시오.
www.acmicpc.net
문제
어떤 반에 있는 학생들의 생일이 주어졌을 때, 가장 나이가 적은 사람과 가장 많은 사람을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 반에 있는 학생의 수 n이 주어진다. (1 ≤ n ≤ 100)
다음 n개 줄에는 각 학생의 이름과 생일이 "이름 dd mm yyyy"와 같은 형식으로 주어진다. 이름은 그 학생의 이름이며, 최대 15글자로 이루어져 있다. dd mm yyyy는 생일 일, 월, 연도이다. (1990 ≤ yyyy ≤ 2010, 1 ≤ mm ≤ 12, 1 ≤ dd ≤ 31) 주어지는 생일은 올바른 날짜이며, 연, 월 일은 0으로 시작하지 않는다.
이름이 같거나, 생일이 같은 사람은 없다.
출력
첫째 줄에 가장 나이가 적은 사람의 이름, 둘째 줄에 가장 나이가 많은 사람 이름을 출력한다.
예제 입력 1 복사
5
Mickey 1 10 1991
Alice 30 12 1990
Tom 15 8 1993
Jerry 18 9 1990
Garfield 20 9 1990
예제 출력 1 복사
Tom
Jerry
생각한 과정
https://dkan9634.tistory.com/51
[백준/BOJ][Python] 5635번 생일
https://www.acmicpc.net/problem/5635 5635번: 생일 어떤 반에 있는 학생들의 생일이 주어졌을 때, 가장 나이가 적은 사람과 가장 많은 사람을 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 어떤 반에 있
dkan9634.tistory.com
8달 전에 쓴 게시물인데 너무 노가다로 푼 것 같다. 저때는 저게 최선이었다..
근데 다시 푸니까 시간적으로 효율적으로 풀었다.
코드
n = int(input())
info = []
for _ in range(n):
n, d, m, y = input().rstrip().split()
info.append((int(y), int(m), int(d), n))
info.sort()
print(info[-1][3]) # 나이 가장 적은 사람
print(info[0][3]) # 나이 가장 많은 사람
'Algorithm > 알고리즘 문제' 카테고리의 다른 글
[프로그래머스] Level2. 전력망을 둘로 나누기 (0) | 2023.09.18 |
---|---|
[백준/BOJ] 백트래킹 N과 M시리즈(1)~(8) (1) | 2023.09.11 |
[백준/BOJ][Python] 2667번 단지번호붙이기 (0) | 2023.03.10 |
[백준/BOJ][Python] 2583번 영역 구하기 (0) | 2023.03.09 |
[백준/BOJ][Python] 7562번 나이트의 이동 (0) | 2023.03.08 |