[이코테] 정렬_국영수 (python)

juyeon·2022년 7월 4일
0

나의 풀이

1. 그냥 list로 풀기

n = int(input())
score = [list(input().split()) for _ in range(n)] #점수 입력

for i in range(n):
	#정수형으로 변환하기
    score[i][1], score[i][2], score[i][3] = int(score[i][1]), int(score[i][2]), int(score[i][3])
    
#감소하는건 -,증가하는건 +
score.sort(key = lambda x: (-x[1], x[2], -x[3], x[0]))

#이름만 출력
for j in score:
    print(j[0])

: 근데 저거 for문으로 int 안 하고, 그냥 뒤에 람다에서 int 써도 될듯?

  • dictionary로 풀 수는 없을까..?

2. 다시 풀기

n = int(input()) # 학생 수
score = [list(input().split()) for _ in range(n)] # 점수 list
score.sort(key = lambda x: (-int(x[1]), int(x[2]), -int(x[3]), x[0])) # 정렬
for i in score:
    print(i[0])
profile
내 인생의 주연

0개의 댓글