나의 풀이

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가 사용 되는 것은 혼란스러웠다

'알고리즘' 카테고리의 다른 글

부품 찾기  (0) 2021.12.19
두 배열의 원소 교체  (0) 2021.12.19
숫자 카드 게임 그리디  (0) 2021.12.15
큰 수의 법칙 그리디  (0) 2021.12.14
미로 탈출 - bfs  (0) 2021.12.13

+ Recent posts