ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 성적이 낮은 순서로 학생 출력하기
    코테 대비 python/백준 2022. 2. 16. 12:23

    출처: 이코테

    # 학생의 정보는 이름, 성적으로 구분
    # 성적이 낮은 순서대로 = 내림차순으로 이름 출력

    N= int(input())

    #딕셔너리 생성
    dict = {}

    #딕셔너리에 쌍추가
    for i in range(N):
        k, v = input().split()
        v =int(v)
        dict[k] = v

    #딕셔너리 튜플 리스트로 바꾸기
    a = dict.items()
    a
    a = sorted(a, key = lambda x:x[1],reverse=True)

    #출력
    for i in a:
        print(i[0], end=" ")
     
     
    ======================================
     #정수 입력
    n= int(input())
    #리스트 생성
    array = []

    #리스트에 append
    for i in range(n):
        input_data = input().split()
        array.append(input_data[0], int(input_data[1]))


    #key 람다식 써서 해결
    array = sorted(array, key= lambda student: student[1])


    #출력
    for student in array:
        print(student[0], end= " ")
     

    확실히 답지 풀이가 깔끔하다

    근데 뭔가 쌍으로 나오니깐 딕셔너리 써야하는 압박감 들어서

    딕셔너리 사용해봤다.

     

    얻은것

    1. dict.items() 체화

    2. input()은 자료형이 리스트!

    3. sorted 안에 key = 람다식

     

    '코테 대비 python > 백준' 카테고리의 다른 글

    거스름 돈  (0) 2022.02.18
    두 배열의 원소 교체  (0) 2022.02.16
    위에서 아래로  (0) 2022.02.16
    미로 탈출  (0) 2022.02.15
    음료수 얼려먹기  (0) 2022.02.15
Designed by Tistory.