๐Ÿค–/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค | Lv2] ๊ทค ๊ณ ๋ฅด๊ธฐ (Python)

sssbin 2023. 1. 31. 14:39

 

https://school.programmers.co.kr/learn/courses/30/lessons/138476

 

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

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

programmers.co.kr

 

 

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

def solution(k, tangerine):
    dic = {}
    for i in tangerine:
        try: dic[i] += 1
        except: dic[i] = 1
    dic = dict(sorted(dic.items(), key=lambda x:x[1]))
    
    n = len(tangerine) - k
    cnt = len(dic)
    i = 0
    
    for key in dic:
        i += dic[key]
        if i < n:
            cnt -= 1
        elif i == n:
            return cnt - 1
        else:
            return cnt
ํ…Œ์ŠคํŠธ 1 ใ€‰ ํ†ต๊ณผ (14.81ms, 13.2MB)
ํ…Œ์ŠคํŠธ 2 ใ€‰ ํ†ต๊ณผ (11.53ms, 13.2MB)
ํ…Œ์ŠคํŠธ 3 ใ€‰ ํ†ต๊ณผ (10.17ms, 13.4MB)
ํ…Œ์ŠคํŠธ 4 ใ€‰ ํ†ต๊ณผ (12.05ms, 13MB)
ํ…Œ์ŠคํŠธ 5 ใ€‰ ํ†ต๊ณผ (16.84ms, 11.2MB)
ํ…Œ์ŠคํŠธ 6 ใ€‰ ํ†ต๊ณผ (16.76ms, 11.4MB)
ํ…Œ์ŠคํŠธ 7 ใ€‰ ํ†ต๊ณผ (11.87ms, 12.2MB)
ํ…Œ์ŠคํŠธ 8 ใ€‰ ํ†ต๊ณผ (9.55ms, 11.8MB)
ํ…Œ์ŠคํŠธ 9 ใ€‰ ํ†ต๊ณผ (12.12ms, 11.6MB)
ํ…Œ์ŠคํŠธ 10 ใ€‰ ํ†ต๊ณผ (14.29ms, 12.8MB)
ํ…Œ์ŠคํŠธ 11 ใ€‰ ํ†ต๊ณผ (0.02ms, 10.1MB)
ํ…Œ์ŠคํŠธ 12 ใ€‰ ํ†ต๊ณผ (0.01ms, 10.1MB)
ํ…Œ์ŠคํŠธ 13 ใ€‰ ํ†ต๊ณผ (0.01ms, 10.3MB)
ํ…Œ์ŠคํŠธ 14 ใ€‰ ํ†ต๊ณผ (0.01ms, 10.2MB)
ํ…Œ์ŠคํŠธ 15 ใ€‰ ํ†ต๊ณผ (0.01ms, 9.98MB)
ํ…Œ์ŠคํŠธ 16 ใ€‰ ํ†ต๊ณผ (0.01ms, 10.1MB)
ํ…Œ์ŠคํŠธ 17 ใ€‰ ํ†ต๊ณผ (0.01ms, 10.2MB)
ํ…Œ์ŠคํŠธ 18 ใ€‰ ํ†ต๊ณผ (0.01ms, 10.2MB)
ํ…Œ์ŠคํŠธ 19 ใ€‰ ํ†ต๊ณผ (0.01ms, 10.1MB)
ํ…Œ์ŠคํŠธ 20 ใ€‰ ํ†ต๊ณผ (0.02ms, 10.2MB)
ํ…Œ์ŠคํŠธ 21 ใ€‰ ํ†ต๊ณผ (0.23ms, 10.2MB)
ํ…Œ์ŠคํŠธ 22 ใ€‰ ํ†ต๊ณผ (0.73ms, 10.5MB)
ํ…Œ์ŠคํŠธ 23 ใ€‰ ํ†ต๊ณผ (0.56ms, 10.4MB)
ํ…Œ์ŠคํŠธ 24 ใ€‰ ํ†ต๊ณผ (0.78ms, 10.5MB)
ํ…Œ์ŠคํŠธ 25 ใ€‰ ํ†ต๊ณผ (6.42ms, 11.7MB)
ํ…Œ์ŠคํŠธ 26 ใ€‰ ํ†ต๊ณผ (19.90ms, 13.6MB)
ํ…Œ์ŠคํŠธ 27 ใ€‰ ํ†ต๊ณผ (73.72ms, 35.6MB)
ํ…Œ์ŠคํŠธ 28 ใ€‰ ํ†ต๊ณผ (40.32ms, 20.4MB)
ํ…Œ์ŠคํŠธ 29 ใ€‰ ํ†ต๊ณผ (45.85ms, 25.7MB)
ํ…Œ์ŠคํŠธ 30 ใ€‰ ํ†ต๊ณผ (77.48ms, 35.5MB)
ํ…Œ์ŠคํŠธ 31 ใ€‰ ํ†ต๊ณผ (9.89ms, 12.4MB)
ํ…Œ์ŠคํŠธ 32 ใ€‰ ํ†ต๊ณผ (11.69ms, 13.8MB)
ํ…Œ์ŠคํŠธ 33 ใ€‰ ํ†ต๊ณผ (78.43ms, 26.7MB)
ํ…Œ์ŠคํŠธ 34 ใ€‰ ํ†ต๊ณผ (56.12ms, 25.7MB)

 

ํ†ต๊ณผ๋Š” ํ–ˆ์ง€๋งŒ ์ข€ ์ง€์ €๋ถ„ํ•˜๊ฒŒ ํ’€์—ˆ๋Š”๋ฐ,, ๋‹ค๋“ค ๋„˜ ๊น”๋”ํ•˜๊ฒŒ ํ’€์–ด์„œ ๋†€๋ž๋‹ค

tangerine์˜ ์š”์†Œ ๊ฐœ์ˆ˜๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ๋งŒ๋“  ๋ถ€๋ถ„ -> collections ๋ชจ๋“ˆ์˜ Counter ํด๋ž˜์Šค๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ

๋‚˜๋Š” value ๊ฐ’์œผ๋กœ ์ •๋ ฌํ•œ ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ๋˜ ํ•˜๋‚˜ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ -> ๊ทธ๋ƒฅ value ๊ฐ’์œผ๋กœ ์ •๋ ฌํ•œ ๋ฆฌ์ŠคํŠธ๋งŒ ์žˆ์œผ๋ฉด ๋จ

๊ฐœ์ˆ˜ ํŒ๋ณ„ํ•˜๋Š” ๋ถ€๋ถ„๋„ ๋‹ค๋“ค ๋” ๊น”๋”ํ•œ ๋ฐฉ๋ฒ• ์จ์„œ ํ‘ธ์‹œ๋˜๋ฐ ์ƒ๊ฐํ•˜๊ธฐ ํž˜๋“ค์–ด์„œ(^^..) ๊ทธ๋ƒฅ ๋‚ด๊ฐ€ ์ผ๋˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฑฐ์˜ ๊ทธ๋Œ€๋กœ ์ผ๋‹ค!

 

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

from collections import Counter

def solution(k, tangerine):
    tan = sorted(Counter(tangerine).values())
    answer = len(tan)
    n = len(tangerine) - k
    
    for i in tan:
        if i < n:
            answer -= 1
            n -= i
        elif i == n:
            return answer - 1
        else:
            return answer
ํ…Œ์ŠคํŠธ 1 ใ€‰ ํ†ต๊ณผ (5.41ms, 13.1MB)
ํ…Œ์ŠคํŠธ 2 ใ€‰ ํ†ต๊ณผ (9.16ms, 13.2MB)
ํ…Œ์ŠคํŠธ 3 ใ€‰ ํ†ต๊ณผ (9.38ms, 13.5MB)
ํ…Œ์ŠคํŠธ 4 ใ€‰ ํ†ต๊ณผ (6.28ms, 13.1MB)
ํ…Œ์ŠคํŠธ 5 ใ€‰ ํ†ต๊ณผ (4.46ms, 11.2MB)
ํ…Œ์ŠคํŠธ 6 ใ€‰ ํ†ต๊ณผ (5.05ms, 11.3MB)
ํ…Œ์ŠคํŠธ 7 ใ€‰ ํ†ต๊ณผ (5.99ms, 12.6MB)
ํ…Œ์ŠคํŠธ 8 ใ€‰ ํ†ต๊ณผ (10.49ms, 11.8MB)
ํ…Œ์ŠคํŠธ 9 ใ€‰ ํ†ต๊ณผ (4.91ms, 11.6MB)
ํ…Œ์ŠคํŠธ 10 ใ€‰ ํ†ต๊ณผ (6.09ms, 13MB)
ํ…Œ์ŠคํŠธ 11 ใ€‰ ํ†ต๊ณผ (0.04ms, 10.4MB)
ํ…Œ์ŠคํŠธ 12 ใ€‰ ํ†ต๊ณผ (0.03ms, 9.95MB)
ํ…Œ์ŠคํŠธ 13 ใ€‰ ํ†ต๊ณผ (0.02ms, 10.3MB)
ํ…Œ์ŠคํŠธ 14 ใ€‰ ํ†ต๊ณผ (0.02ms, 9.95MB)
ํ…Œ์ŠคํŠธ 15 ใ€‰ ํ†ต๊ณผ (0.03ms, 9.95MB)
ํ…Œ์ŠคํŠธ 16 ใ€‰ ํ†ต๊ณผ (0.02ms, 10.1MB)
ํ…Œ์ŠคํŠธ 17 ใ€‰ ํ†ต๊ณผ (0.02ms, 10.2MB)
ํ…Œ์ŠคํŠธ 18 ใ€‰ ํ†ต๊ณผ (0.02ms, 9.96MB)
ํ…Œ์ŠคํŠธ 19 ใ€‰ ํ†ต๊ณผ (0.03ms, 10.1MB)
ํ…Œ์ŠคํŠธ 20 ใ€‰ ํ†ต๊ณผ (0.02ms, 10.1MB)
ํ…Œ์ŠคํŠธ 21 ใ€‰ ํ†ต๊ณผ (0.07ms, 9.9MB)
ํ…Œ์ŠคํŠธ 22 ใ€‰ ํ†ต๊ณผ (0.15ms, 10.1MB)
ํ…Œ์ŠคํŠธ 23 ใ€‰ ํ†ต๊ณผ (0.19ms, 10.2MB)
ํ…Œ์ŠคํŠธ 24 ใ€‰ ํ†ต๊ณผ (0.19ms, 10.4MB)
ํ…Œ์ŠคํŠธ 25 ใ€‰ ํ†ต๊ณผ (2.01ms, 11MB)
ํ…Œ์ŠคํŠธ 26 ใ€‰ ํ†ต๊ณผ (3.41ms, 11.5MB)
ํ…Œ์ŠคํŠธ 27 ใ€‰ ํ†ต๊ณผ (14.67ms, 21.8MB)
ํ…Œ์ŠคํŠธ 28 ใ€‰ ํ†ต๊ณผ (14.78ms, 16.2MB)
ํ…Œ์ŠคํŠธ 29 ใ€‰ ํ†ต๊ณผ (14.21ms, 17.9MB)
ํ…Œ์ŠคํŠธ 30 ใ€‰ ํ†ต๊ณผ (17.43ms, 21.9MB)
ํ…Œ์ŠคํŠธ 31 ใ€‰ ํ†ต๊ณผ (6.27ms, 12.7MB)
ํ…Œ์ŠคํŠธ 32 ใ€‰ ํ†ต๊ณผ (6.15ms, 13.6MB)
ํ…Œ์ŠคํŠธ 33 ใ€‰ ํ†ต๊ณผ (15.97ms, 18.1MB)
ํ…Œ์ŠคํŠธ 34 ใ€‰ ํ†ต๊ณผ (19.05ms, 17.9MB)

 

ใ… ใ