-코드
t = int(input())
arr = []
for i in range(t):
n, d, m, y = input().split()
if len(y) == 1:
y = '0' + y
if len(m) == 1:
m = '0' + m
if len(d) == 1:
d = '0' + d
arr.append([n, y+m+d])
arr.sort(key=lambda a: int(a[1]))
print(arr[-1][0])
print(arr[0][0])
처음에는 값을 최댓값 최솟값을 지정해서 비교를 하여 모든 값을 비교하여하려 했으나 실패해서 찾아보니 sort와 lamda를 사용하면 리스트에서 특정 부분만 int로 사용하는 것이 가능하여 예전에 사용했던 lamda문제를 작성했으나 틀려서 찾아보니 생년월일이 각각 10 이하일 경우 수의 크기기 1 자릿수가 줄어들어 오류가 생기는 것이라 따로 0을 더해주는 방법으로 해결이 가능하였습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬]1292번 쉽게 푸는 문제 (0) | 2021.08.27 |
---|---|
[백준/파이썬]1769번 3의 배수 (0) | 2021.08.26 |
[백준/파이썬]4388번 받아올림 (0) | 2021.08.24 |
[백준/파이썬]11508번 2 +1 세일 (0) | 2021.08.24 |
[백준/파이썬]2331번 반복수열 (0) | 2021.08.23 |