광산김가네

[구름톤 챌린지] 5일차 문제 풀이 본문

카테고리 없음

[구름톤 챌린지] 5일차 문제 풀이

MinseoKim 2023. 8. 20. 22:53

📌5일차 | 이진수 정렬

문제 내용

N개의 숫자가 주어지면 2가지 정렬기준을 고려하여 정렬하고 K번째 숫자를 출력하는 문제이다.

1. 2진수로 변환을 했을때 1의 개수 기준으로 내림차순

2. 10진수 기준으로 대소비교하여 내림차순

 

로직 설계

고려해야할 사항이 2가지였다

 

1. 2진수로 변환하고, 해당 10진수도 매핑하여 저장해야 됨

-> map 형태의 자료구조 사용

2. 정렬 기준이 2개이고, 순차적으로 적용해야됨 + 내림차순 정렬

-> sortedWith, compareBy, asReversed 메서드 사용

 

 

느낀점

파이썬에서는 여러개의 정렬기준을 적용하는 걸 lambda를 이용해서 구현이 가능한건 알았는데

코틀린에서도 compareBy에 조건을 여러개 추가해서 가능한지 처음알았다 !