구름 먼데이 챌린지 2-3

su-mmer·2022년 10월 20일
0

문제풀이

목록 보기
37/43
post-thumbnail

구름 먼데이 챌린지 참여하기

문제

입력

출력

예제

  • 입력1
5 1
goorm 110.40
goormee 111.50
goormy 109.50
oscar 100.00
henry 200.00
  • 출력1
goorm 110.40
  • 입력2
5 5
abcabc 120.00
abcabca 120.00
abcabcb 120.00
abcabcc 120.00
abcabcd 120.00
  • 출력2
abcabcd 120.00

풀이

  1. 이름을 기준으로 내림차순 정렬
  2. 이름이 같다면 작은 키부터 오름차순 정렬(키는 소수 2번째 자리 까지)
  3. 출석부를 완성하고 k번째 사람의 이름과 키를 출력

파이썬 코드

  • sorted 함수 활용하기
  • sorted 함수는 key값을 기준으로 오름차순 정렬(내림차순은 reverse() 활용)
  • sorted(att, key = lambda x : (x[0], x[1]))를 이용해 첫번째 인자를 기준으로 먼저 정렬한 후 두번째 인자를 기준으로 정렬
  • 처음에 swap 썼는데 풀이에서 lambda랑 sorted 사용했길래 코드를 고쳤다.
# -*- coding: utf-8 -*-
# UTF-8 encoding when using korean
import sys
input = sys.stdin.readline

n, k = map(int, input().split())
att = []

for i in range(n):
    student = list(map(str, input().split()))
    att.append(student)

att = sorted(att, key = lambda x : (x[0], x[1]))
# att.sort()
# for i in range(1, n):
#    if att[i - 1][0] == att[i][0]:
#        if att[i - 1][1] > att[i][1]:
#            swap(att[i - 1], att[i])

print(att[k - 1][0], att[k - 1][1])

0개의 댓글