https://www.acmicpc.net/problem/10825
나의 풀이 by python
n = int(input())
data = []
for i in range(n):
name, a, b, c = input().split()
a, b, c = int(a), int(b), int(c)
data.append([a, b, c, name])
data = sorted(data, key = lambda x : (-x[0], x[1], -x[2], x[3]))
for i in range(n):
print(data[i][3])
해당 문제는 여러가지 값을 정렬로 이용해야 할 때 유용하게 사용할 수 있는 예제이다.
이것이 코딩 테스트이다 답안
n = int(input())
students = [] # 학생 정보를 담을 리스트
# 모든 학생 정보를 입력받기
for _ in range(n):
students.append(input().split())
students.sort(key=lambda x: (-int(x[1]), int(x[2]), -int(x[3]), x[0]))
# 정렬된 학생 정보에서 이름만 출력
for student in students:
print(student[0])
'알고리즘' 카테고리의 다른 글
[백준] 2차원 배열의 합 (0) | 2022.01.24 |
---|---|
2차원 배열 정렬을 배우기 좋은 APC는 왜 서브태스크 대회가 되었을까? (0) | 2022.01.13 |
백준 1920번 수 찾기 (0) | 2022.01.12 |
[프로그래머스] 문자열 압축 (0) | 2022.01.04 |
[이코테] 문자열 재정렬 (0) | 2022.01.04 |