성적이 낮은 순서로 학생 출력하기

araseo·2022년 12월 7일
0
post-thumbnail

💻 입력 조건

  • 첫 번째 줄에 학생의 수 N이 입력된다. (1 <= N <= 100,000)
  • 두 번째 줄부터 N + 1번째 줄에는 학생의 이름을 나타내는 문자열 A와 학생의 성적을 나타내는 정수 B가 공백으로 구분되어 입력된다. 문자열 A의 길이와 학생의 성적은 100 이하의 자연수이다.

💻 출력 조건

  • 모든 학생의 이름을 성적이 낮은 순서대로 출력한다. 성적이 동일한 학생들의 순서는 자유롭게 출력해도 괜찮다.

💻 입력 예시

2
홍길동 95
이순신 77

💻 출력 예시

이순신 홍길동

📖 문제 해결
파이썬 리스트의 내장 함수인 sort()의 매개변수 key를 이용하여 점수를 기준으로 오름 차순으로 정렬하여 성적이 낮은 순서대로 모든 학생의 이름을 출력하도록 코드를 작성하였습니다.

# n을 입력받기
n = int(input())

# [이름, 점수]를 array list에 추가
array = []
for i in range(n):
    array.append(list(map(str, input().split())))

# 점수를 기준으로 정렬하기 위해 이용할 함수
def score_key(array):
    return int(array[1])

# 파이썬 리스트의 내장 함수인 sort()를 이용하여 점수를 기준으로 오름 차순으로 정렬
array.sort(key = score_key)

# 성적이 낮은 순서대로 모든 학생의 이름을 출력
for item in array:
    print(item[0], end = ' ')
profile
AI를 공부하고 있는 학생입니다:)

0개의 댓글