본문 바로가기
Problem Solving/CodeUp

[CodeUp][Python]3015번 풀이

by NoiB 2021. 11. 23.
반응형

오늘은 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를 이용해서 원하는 옵션으로 정렬을 할 수 있다는 점과 정렬 시 -를 이용하면 내림차순으로 정렬을 할 수 있다는 점이 되겠네요.

 

저는 요즘 개인 프로젝트도 있고 이제 슬슬 기말고사도 다가오고 해서 졸작이 끝났음에도 오히려 전 보다 더 바쁜거 같은데요. 그래도 최대한 자주 포스팅을 하도록 노력해보겠습니다. 저희 같이 힘내봅시다.

반응형

'Problem Solving > CodeUp' 카테고리의 다른 글

[CodeUp][Python]3018번 풀이  (0) 2021.11.22
[CodeUp][Python]3004번 풀이  (0) 2021.11.19
[CodeUp][Python]1805 풀이  (0) 2021.11.18
[CodeUp][Python]코드업 기초100제(끝) 6091~6098  (0) 2021.11.13