-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path귤 고르기.swift
35 lines (29 loc) · 882 Bytes
/
귤 고르기.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// 출처 : 프로그래머스 연습문제 귤 고르기
// https://programmers.co.kr/learn/courses/30/lessons/138476
// 풀이 : hogumachu
import Foundation
func solution(_ k: Int, _ tangerine: [Int]) -> Int {
var tangerineCount: [Int: Int] = [:]
var result = 0
var currentValue = 0
tangerine.forEach {
if tangerineCount[$0] == nil {
tangerineCount[$0] = 1
} else {
tangerineCount[$0]! += 1
}
}
let sortedTangerine = tangerine.sorted {
if tangerineCount[$0]! == tangerineCount[$1]! {
return $0 > $1
} else {
return tangerineCount[$0]! > tangerineCount[$1]!
}
}
for i in 0..<k {
if currentValue != sortedTangerine[i] {
currentValue = sortedTangerine[i]
result += 1
}
}
return result