ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ๊ทค ๊ณ ๋ฅด๊ธฐ

2025. 6. 28. 16:47ยท๐Ÿ“š ๋ฐฑ์ค€
728x90
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ ์„ค๋ช…

๊ฒฝํ™”๋Š” ๊ณผ์ˆ˜์›์—์„œ ๊ทค์„ ์ˆ˜ํ™•ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฝํ™”๋Š” ์ˆ˜ํ™•ํ•œ ๊ทค ์ค‘ 'k'๊ฐœ๋ฅผ ๊ณจ๋ผ ์ƒ์ž ํ•˜๋‚˜์— ๋‹ด์•„ ํŒ๋งคํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ˆ˜ํ™•ํ•œ ๊ทค์˜ ํฌ๊ธฐ๊ฐ€ ์ผ์ •ํ•˜์ง€ ์•Š์•„ ๋ณด๊ธฐ์— ์ข‹์ง€ ์•Š๋‹ค๊ณ  ์ƒ๊ฐํ•œ ๊ฒฝํ™”๋Š” ๊ทค์„ ํฌ๊ธฐ๋ณ„๋กœ ๋ถ„๋ฅ˜ํ–ˆ์„ ๋•Œ ์„œ๋กœ ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ๊ฒฝํ™”๊ฐ€ ์ˆ˜ํ™•ํ•œ ๊ทค 8๊ฐœ์˜ ํฌ๊ธฐ๊ฐ€ [1, 3, 2, 5, 4, 5, 2, 3] ์ด๋ผ๊ณ  ํ•ฉ์‹œ๋‹ค. ๊ฒฝํ™”๊ฐ€ ๊ทค 6๊ฐœ๋ฅผ ํŒ๋งคํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, ํฌ๊ธฐ๊ฐ€ 1, 4์ธ ๊ทค์„ ์ œ์™ธํ•œ ์—ฌ์„ฏ ๊ฐœ์˜ ๊ทค์„ ์ƒ์ž์— ๋‹ด์œผ๋ฉด, ๊ทค์˜ ํฌ๊ธฐ์˜ ์ข…๋ฅ˜๊ฐ€ 2, 3, 5๋กœ ์ด 3๊ฐ€์ง€๊ฐ€ ๋˜๋ฉฐ ์ด๋•Œ๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ์ข…๋ฅ˜๊ฐ€ ์ตœ์†Œ์ผ ๋•Œ์ž…๋‹ˆ๋‹ค.

๊ฒฝํ™”๊ฐ€ ํ•œ ์ƒ์ž์— ๋‹ด์œผ๋ ค๋Š” ๊ทค์˜ ๊ฐœ์ˆ˜ k์™€ ๊ทค์˜ ํฌ๊ธฐ๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด tangerine์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ๊ฒฝํ™”๊ฐ€ ๊ทค k๊ฐœ๋ฅผ ๊ณ ๋ฅผ ๋•Œ ํฌ๊ธฐ๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

์ œํ•œ์‚ฌํ•ญ

  • 1 ≤ k ≤ tangerine์˜ ๊ธธ์ด ≤ 100,000
  • 1 ≤ tangerine์˜ ์›์†Œ ≤ 10,000,000

์ž…์ถœ๋ ฅ ์˜ˆ

 

ํ’€์ด

from collections import Counter

def solution(k, tangerine):
    answer = 0
    counter = Counter(tangerine)
    counts = sorted(counter.values(), reverse=True)
    for i in range(len(counts)) :
        k -= counts[i]
        answer += 1
        if k <= 0 :
            break
    return answer

 

์ฃผ์–ด์ง„ ๋ฌธ์ œ๋Š” ํŒŒ์ด์ฌ์˜ collections๋ฅผ ํ†ตํ•ด ํ’€ ์ˆ˜ ์žˆ๋‹ค. Counter๋ฅผ importํ•˜๋ฉด ๋‚ด์žฅ๋˜์–ด ์žˆ๋Š” Counter ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

counter = Counter(tangerine)

// ์‹คํ–‰๊ฒฐ๊ณผ (์ž…๋ ฅ๊ฐ’: 6, [1, 3, 2, 5, 4, 5, 2, 3])
// Counter({3: 2, 2: 2, 5: 2, 1: 1, 4: 1})

 

 

์ด๋ ‡๊ฒŒ Counterํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ž…๋ ฅ๋œ ๋ฆฌ์ŠคํŠธ์—์„œ ๊ฐ ์ˆซ์ž๊ฐ€ ์ด ๋ช‡ ๋ฒˆ ๋‚˜์™”๋Š”์ง€๋ฅผ ๋”•์…”๋„ˆ๋ฆฌํ˜•ํƒœ๋กœ ์„ธ์–ด ์ €์žฅํ•ด์ค€๋‹ค.

์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ค‘์ฒฉfor๋ฌธ์„ ์‚ฌ์šฉํ•ด set์œผ๋กœ ๋ฐ”๊พธ๊ณ , ๊ฐ ์ˆซ์ž๊ฐ€ ๋‚˜์˜ค๋Š” ํšŸ์ˆ˜๋ฅผ ์ฐพ์•„ ์ €์žฅํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

์‹œ๊ฐ„๋ณต์žก๋„ ๋˜ํ•œ ํ•œ๋ฒˆ์˜ ์ˆœํšŒ๋กœ ๋ชจ๋‘ ๊ตฌํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ O(N)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ฐ–๋Š”๋‹ค.

 

์•ž์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€๋‹ค ๋ณด๋ฉด, ํ•œ ๋ฆฌ์ŠคํŠธ์— ์ˆซ์ž๊ฐ€ ๋ช‡ ๋ฒˆ ๋‚˜์˜ค๋Š”์ง€ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ๋“ค์ด ์ข…์ข… ์žˆ๋Š”๋ฐ, collections์™€ Counter๋ฅผ ๊ธฐ์–ตํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.

728x90
๋ฐ˜์‘ํ˜•

'๐Ÿ“š ๋ฐฑ์ค€' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] : ๋ฉ€๋ฆฌ๋›ฐ๊ธฐ  (0) 2025.07.13
[DP] ํŒŒ์ด์ฌ์œผ๋กœ Dynamic Programming ์ •๋ณตํ•˜๊ธฐ  (0) 2025.07.13
๋ฐฑ์ค€ 17219: ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ  (0) 2025.05.13
๋ฐฑ์ค€ 10989: ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 3  (0) 2025.05.13
๋ฐฑ์ค€_10718. We love kriii  (0) 2022.08.25
'๐Ÿ“š ๋ฐฑ์ค€' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] : ๋ฉ€๋ฆฌ๋›ฐ๊ธฐ
  • [DP] ํŒŒ์ด์ฌ์œผ๋กœ Dynamic Programming ์ •๋ณตํ•˜๊ธฐ
  • ๋ฐฑ์ค€ 17219: ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ
  • ๋ฐฑ์ค€ 10989: ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 3
coram22
coram22
  • coram22
    ram2 ๐Ÿš—
    coram22
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (86)
      • ๐Ÿ’ง flutter (22)
      • ๐ŸŽ iOS (18)
      • ๐Ÿฉต CosPro (4)
        • python 2๊ธ‰ (4)
      • ๐Ÿˆ‍โฌ› git (3)
      • ๐Ÿ–ฅ๏ธ react (6)
      • ๐Ÿพ OS (1)
      • ๐Ÿ›œ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ (6)
      • ๐ŸŒƒ computer vision (6)
      • ๐Ÿ“š ๋ฐฑ์ค€ (11)
      • ๐Ÿฃ My Story (1)
      • ๐Ÿ’ป else (8)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ๐Ÿˆโ€โฌ› github ๐Ÿˆโ€โฌ›
    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • ๐Ÿฑ Github ๐Ÿฑ
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์ •๋‹ต
    Computer Vision
    SwiftUI
    Python
    FLUTTER
    UIKit
    ์˜ค๋ธ”์™„
    ์ค‘๋„ํœดํ•™
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    IOS
    ๊ณต์‹๋ฌธ์„œ
    ์ปด๋„ค
    dart
    2๊ธ‰
    Swift
    React
    Git
    OpenCV
    Xcode
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
coram22
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ๊ทค ๊ณ ๋ฅด๊ธฐ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”