Problem Solving/CodeUp
[CodeUp][Python]3015번 풀이
NoiB
2021. 11. 23. 20:02
반응형
오늘은 3015번입니다. 별로 어렵지 않으니 같이 가봅시다.
문제 : https://codeup.kr/problem.php?id=3015&rid=0
성적표 출력
첫째 줄에 데이터의 개수 $n$ ($3 <= n <= 100$)과 출력인원 $m$ ($1 <= m <= n$)이 공백으로 구분되어 입력된다. 둘째 줄부터 학생 이름과 점수($0~100$)가 공백으로 구분되어 입력된다. 단 이름의 길이는
codeup.kr
코드 :
n,m = map(int, input().split())#공백을 기준으로 분리해서 각각 int 자료형으로 변환해서 변수 선언
board = []#리스트 선언
for i in range(n):#반복문, i는 0 ~ n까지
name, score = input().split()#위와 같지만 name은 int가 아니기 때문에 밑에서 따로 변환
score = int(score)
board.append([name,score])#리스트에 추가
board.sort(key = lambda x : -x[1])#리스트 원소를 score 기준으로 내림차순 정렬
for i in range(m):#반복문으로 출력
print(board[i][0])
#O(n)
지난번 문제보다는 오히려 상당히 쉬운 문제인데요. 알아두시면 좋은 점은 sort() 함수를 사용하실 때 key를 이용해서 원하는 옵션으로 정렬을 할 수 있다는 점과 정렬 시 -를 이용하면 내림차순으로 정렬을 할 수 있다는 점이 되겠네요.
저는 요즘 개인 프로젝트도 있고 이제 슬슬 기말고사도 다가오고 해서 졸작이 끝났음에도 오히려 전 보다 더 바쁜거 같은데요. 그래도 최대한 자주 포스팅을 하도록 노력해보겠습니다. 저희 같이 힘내봅시다.
반응형