본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬]5635번 생일

by 현장 2021. 8. 25.

-코드

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을 더해주는 방법으로 해결이 가능하였습니다.