Search

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

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

N명의 학생 정보가 있다. 학생 정보는 학생의 이름과 학생의 성적으로 구분된다.

문제

각 학생의 이름과 성적 정보가 주어졌을 때 성적이 낮은 순서대로 학생의 이름을 출력하는 프로그램을 작성하시오.

입력 조건

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

출력 조건

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

입력 예시

2 홍길동 95 이순신 77
Python

출력 예시

이순신 홍길동
Python

모범 답안

해결에 필요한 핵심 아이디어: 학생 정보의 크기를 고려

해결 시나리오

1.
최악의 경우 O(NlogN)을 보장하는 알고리즘이나 O(N)을 보장하는 계수 정렬 이용
2.
학생 정보를 (점수, 이름)으로 묶은 뒤 점수를 기준으로 정렬 수행
튜플 사용
답안

나동빈님 컨텐츠를 이용하시면 더 많고 자세한 내용을 얻을 수 있습니다.