나동빈 with 파이썬/실전문제 풀이

[Ch.6 - 정렬] 성적이 낮은 순서로 학생 출력하기

yewonnie 2022. 2. 13. 20:39

My code

n = int(input())

array = []
for i in range(n):
    student = input().split()
    array.append((student[0], int(student[1])))

array = sorted(array, key = lambda x: x[1])

for i in array:
    print(i[0], end=' ')

Code Review

이번 문제는 학생 이름, 성적을 입력 받아 성적이 낮은 순으로 정렬하여 해당 학생의 이름을 출력하는 것이었습니다. 먼저 학생 이름과 성적 정보를 입력 받아 리스트에 넣어주었습니다. sorted 함수를 이용하여 입력 받은 정보들을 정렬해주었는데, 이때 key 값 즉 정렬의 기준이 되는 값을 입력 받은 값 중 성적이 기준으로 될 수 있도록 배열의 1번째 값으로 lambda 변수를 이용하여 설정해주었습니다. 정렬 된 결과 리스트에서 해당 학생의 이름이 출력 될 수 있도록 배열의 0번째 값을 출력해주었습니다.