알고리즘
성적이 낮은 순서로 학생 출력하기 딕셔너리 형태 정렬하기
메밀국수가생각나
2021. 12. 19. 11:29
나의 풀이
n = int(input())
dictGrade = {}
for i in range(n):
name, grade = input().split(' ')
dictGrade[name] = grade
sDictGrade = sorted(dictGrade, key = lambda x : dictGrade[x])
for key in sDictGrade:
print(key, end=' ')
정답
n = int(input())
array = []
for i in range(n):
input_data = input().split()
array.append((input_data[0], int(input_data[1])))
array = sorted(array, key=lambda student: student[1])
for student in array:
print(student[0], end = ' ')
이번 문제같은 경우 정답이 조금 해깔린다.
array = sorted(array, key=lambda student: student[1])
for student in array:
print(student[0], end = ' ')
위 부분에 lambda 식에 처음 사용된 student가 갑자기 for문을 통해 정렬된 값을 나타내는 것으로 사용된다.
정렬된 값 array를 내버려두고 선언도 안한 student가 사용 되는 것은 혼란스러웠다