MUKER_DEV with iOS

[swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๊ทค ๊ณ ๋ฅด๊ธฐ ๋ณธ๋ฌธ

๐Ÿค– ์•Œ๊ณ ๋ฆฌ์ฆ˜/programmers

[swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๊ทค ๊ณ ๋ฅด๊ธฐ

MUKER 2023. 3. 13. 19:46
 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr


ํ’€์ด

func solution(_ k: Int, _ tangerine: [Int]) -> Int {
    var a = Dictionary(grouping: tangerine, by: { $0 } ).values.sorted(by: { $0.count > $1.count }).map { $0.count }
    var sum = 0, count = 0
    for i in a {
        if sum < k { sum += i; count += 1 }
        else { break }
    }
    return count
}
func solution(_ k: Int, _ tangerine: [Int]) -> Int {
    return Dictionary(grouping: tangerine) { $0 }.values
        .sorted { $0.count > $1.count }
        .reduce((0,0)) { $0.1 >= k ? $0 : ($0.0 + 1, $0.1 + $1.count) }.0
}