알고리즘/프로그래머스
[프로그래머스] Lv.2 귤 고르기 문제
줍
2024. 4. 11. 13:47
1. 배열의 요소의 갯수를 카운트 해야했다. for 문을 이용했는데, Dictionary 그룹핑을 이용하는 방법도 있다.
func solution(_ k:Int, _ tangerine:[Int]) -> Int {
var dict = [Int: Int]()
var sum = 0
var ans = 0
for i in tangerine {
if dict[i] == nil { dict[i] = 1 }
else { dict[i]! += 1 }
}
for i in dict.values.sorted(by: >) {
sum += i
ans += 1
if sum >= k { break }
}
return ans
}
Dictionary(grouping: tangerine) { $0 }.values.sorted { $0.count > $1.count }