반응형
n = int(input())
arr = []
for i in range(n):
name, a, b, c = input().split()
name = str(name)
a, b, c = [int(x) for x in [a, b, c]]
arr.append([name, a, b, c])
arr.sort(key=lambda x: (-x[1], x[2], -x[3], x[0]))
for i in arr:
print(i[0])
list.sort(key= lambda x:(x[1],-x[0]))
와 같이 정렬하면 이차원 리스트에서 [1]인덱스에 대해 오름차순 정렬한 뒤, 그 상태에서 [0]인덱스에 대해 내림차순 정렬한다.
a,b,c = [int(x) for x in [a,b,c]]를 통해 한줄로 a,b,c를 동시에 형변환하였다.
이를 리스트 컴프리헨션(comprehension)이라 하며
[i for i in mylist (if 조건문)]의 형식을 활용할 수 있다.
set_even = {i**2 for i in mylist if i % 2 == 0}
set_even
{4, 16, 36, 64, 100}
'Algorithm > BaekJoon' 카테고리의 다른 글
[Python][자료구조] 백준 10866 덱 구현 (0) | 2024.07.31 |
---|