다 해시맵에 떄려박고 밸류만뽑은다음에 그거 정렬치고 정렬순서대로 낮은거 k만큼 빼가면서 남은갯수리턴
정답
class Solution {
fun findLeastNumOfUniqueInts(arr: IntArray, k: Int): Int {
val arrHashMap = hashMapOf<Int, Int>()
for (i in arr){
arrHashMap[i]=arrHashMap[i]?.plus(1)?:1
}
val valueList=arrHashMap.values.toMutableList().sorted()
var removeCount=k
var res=0
for ((index,value) in valueList.withIndex()){
if (removeCount>=value){
removeCount-=value
res+=1
}else{
break
}
}
return valueList.size-res
}
}
'알고리즘' 카테고리의 다른 글
릿코드 268. Missing Number 코틀린 (0) | 2024.02.20 |
---|---|
릿코드 231. Power of Two 코틀린 (0) | 2024.02.19 |
릿코드 2971. Find Polygon With the Largest Perimeter 코틀린 (0) | 2024.02.15 |
릿코드 2149. Rearrange Array Elements by Sign 코틀린 (1) | 2024.02.14 |
릿코드 2108. Find First Palindromic String in the Array 코틀린 (0) | 2024.02.14 |