💬 문제
[코딩테스트 연습 - 귤 고르기](https://school.programmers.co.kr/learn/courses/30/lessons/138476)
💬 Idea
- 귤의 개수 중 K개를 고르는데, 최소 종류를 만족하는 종류의 개수를 구하는 문제이다.
- 따라서 귤의 개수가 많은 순서대로 정렬되도록 배열을 새로 만들어준 후 k개 만큼 배열을 자른 후 Set 함수를 사용하여 최소 개수를 구해주었다.
💬 풀이
func solution(k:Int, tangerine:[Int])->Int{vartangerineDict:[Int:Int]=[:]foriin tangerine {iftangerineDict[i]!=nil{tangerineDict[i]! +=1}else{tangerineDict[i]=1}}letsortedDitionary= tangerineDict.sorted{ $0.1> $1.1}varsortedTangerine:[Int]=[]forelementin sortedDitionary {for_in1...element.value {
sortedTangerine.append(element.key)}}letsliceTangerine=sortedTangerine[0..<k]returnSet(sliceTangerine).count
}💬 아쉬운 점
- map, filter, sorted와 같은 고차함수들을 잘 다룬다면 더 간단하게 풀 수 있을 것 같은 문제여서 아쉽다. 더 공부한 뒤에 다시한번 다른 방법으로 풀어보고 싶다 !
💬 문제[코딩테스트 연습 - 귤 고르기](https://school.programmers.co.kr/learn/courses/30/lessons/138476)
💬 Idea💬 풀이💬 아쉬운 점