[python] 구름레벨 이진수 정렬 오답노트

김보현·2024년 7월 2일
0

PS

목록 보기
48/62

문제 link

정답

import sys
input = sys.stdin.readline
n, k= map(int, input().split())
lst = list(map(int, input().split()))

def bi_cnt(a):
	return str(format(a,'b')).count('1')

lst.sort(reverse=True, key=lambda x:(bi_cnt(x), x))

print(lst[k-1])

format(): 10진수->2진수 변환, 0이 사라지면 안되기 때문에 str로 바꿔준다
내림차순이라서 sort(reverse=True)
format(key=lambda x:(bi_cnt(x), x) 정렬1순위는 1의 개수, 2순위는 원래 10진수 ㅌ

profile
Fall in love with Computer Vision

0개의 댓글

관련 채용 정보