-- 예전 기록/[완료] 구름톤 챌린지

[ 구름톤 챌린지 ] 5일차 미션 - 이진수 정렬

rejo 2023. 8. 18. 14:24

구름톤 챌린지 5일차입니다. 챌린지를 통해 문제 풀이 실력을 향상시킬 수 있으며, 블로그에 학습 일기도 작성하면 추가 보상도 주어지니 관심 있으시면 참여해보시는 것을 추천드립니다.

https://level.goorm.io/l/challenge/goormthon-challenge

 

구름LEVEL

난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.

level.goorm.io

 

문제

입력 / 출력

풀이 과정

파이썬의 bin 함수를 이용해 이진수로 변환했을 때 1의 개수를 센다. 1의 개수를 기준으로 내림차순으로 정렬하고 10진수 값을 기준으로 내림차순으로 정렬한다.

import sys
input = sys.stdin.readline

n, k = map(int, input().rstrip().split())
arr = list(map(int, input().rstrip().split()))
res_list = [(str(bin(a))[2:].count('1'), a) for a in arr]
res_list.sort(key=lambda x:(-x[0], -x[1]))
print(res_list[k - 1][1])