๐Ÿ“Œ ํŒŒ์ด์ฌ ์œผ๋กœ ํ’€์ด

 

๐Ÿ“Œ ๋ฌธ์ œ ๋งํฌ :

 

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

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

programmers.co.kr

 

๐Ÿ“Œ ๋ฌธ์ œ ์„ค๋ช… :

"๋ช…์˜ˆ์˜ ์ „๋‹น"์ด๋ผ๋Š” TV ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ๋งค์ผ 1๋ช…์˜ ๊ฐ€์ˆ˜๊ฐ€ ๋…ธ๋ž˜๋ฅผ ๋ถ€๋ฅด๊ณ , ์‹œ์ฒญ์ž๋“ค์˜ ๋ฌธ์ž ํˆฌํ‘œ์ˆ˜๋กœ ๊ฐ€์ˆ˜์—๊ฒŒ ์ ์ˆ˜๋ฅผ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. ๋งค์ผ ์ถœ์—ฐํ•œ ๊ฐ€์ˆ˜์˜ ์ ์ˆ˜๊ฐ€ ์ง€๊ธˆ๊นŒ์ง€ ์ถœ์—ฐ ๊ฐ€์ˆ˜๋“ค์˜ ์ ์ˆ˜ ์ค‘ ์ƒ์œ„ k๋ฒˆ์งธ ์ด๋‚ด์ด๋ฉด ํ•ด๋‹น ๊ฐ€์ˆ˜์˜ ์ ์ˆ˜๋ฅผ ๋ช…์˜ˆ์˜ ์ „๋‹น์ด๋ผ๋Š” ๋ชฉ๋ก์— ์˜ฌ๋ ค ๊ธฐ๋…ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰ ํ”„๋กœ๊ทธ๋žจ ์‹œ์ž‘ ์ดํ›„ ์ดˆ๊ธฐ์— k์ผ๊นŒ์ง€๋Š” ๋ชจ๋“  ์ถœ์—ฐ ๊ฐ€์ˆ˜์˜ ์ ์ˆ˜๊ฐ€ ๋ช…์˜ˆ์˜ ์ „๋‹น์— ์˜ค๋ฅด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. k์ผ ๋‹ค์Œ๋ถ€ํ„ฐ๋Š” ์ถœ์—ฐ ๊ฐ€์ˆ˜์˜ ์ ์ˆ˜๊ฐ€ ๊ธฐ์กด์˜ ๋ช…์˜ˆ์˜ ์ „๋‹น ๋ชฉ๋ก์˜ k๋ฒˆ์งธ ์ˆœ์œ„์˜ ๊ฐ€์ˆ˜ ์ ์ˆ˜๋ณด๋‹ค ๋” ๋†’์œผ๋ฉด, ์ถœ์—ฐ ๊ฐ€์ˆ˜์˜ ์ ์ˆ˜๊ฐ€ ๋ช…์˜ˆ์˜ ์ „๋‹น์— ์˜ค๋ฅด๊ฒŒ ๋˜๊ณ  ๊ธฐ์กด์˜ k๋ฒˆ์งธ ์ˆœ์œ„์˜ ์ ์ˆ˜๋Š” ๋ช…์˜ˆ์˜ ์ „๋‹น์—์„œ ๋‚ด๋ ค์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ด ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ๋งค์ผ "๋ช…์˜ˆ์˜ ์ „๋‹น"์˜ ์ตœํ•˜์œ„ ์ ์ˆ˜๋ฅผ ๋ฐœํ‘œํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, k = 3์ด๊ณ , 7์ผ ๋™์•ˆ ์ง„ํ–‰๋œ ๊ฐ€์ˆ˜์˜ ์ ์ˆ˜๊ฐ€ [10, 100, 20, 150, 1, 100, 200]์ด๋ผ๋ฉด, ๋ช…์˜ˆ์˜ ์ „๋‹น์—์„œ ๋ฐœํ‘œ๋œ ์ ์ˆ˜๋Š” ์•„๋ž˜์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด [10, 10, 10, 20, 20, 100, 100]์ž…๋‹ˆ๋‹ค.

๋ช…์˜ˆ์˜ ์ „๋‹น ๋ชฉ๋ก์˜ ์ ์ˆ˜์˜ ๊ฐœ์ˆ˜ k, 1์ผ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๋‚ ๊นŒ์ง€ ์ถœ์—ฐํ•œ ๊ฐ€์ˆ˜๋“ค์˜ ์ ์ˆ˜์ธ score๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋งค์ผ ๋ฐœํ‘œ๋œ ๋ช…์˜ˆ์˜ ์ „๋‹น์˜ ์ตœํ•˜์œ„ ์ ์ˆ˜๋ฅผ returnํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

 

๐Ÿ“Œ ์ œํ•œ ์‚ฌํ•ญ

  • 3 ≤ k ≤ 100
  • 7 ≤ score์˜ ๊ธธ์ด ≤ 1,000
    • 0 ≤ score[i] ≤ 2,000

 

๐Ÿ“Œ ์ž…์ถœ๋ ฅ ์˜ˆ


์ถ”์ธก) 

1. ์ˆœ์œ„ ๋ฆฌ์ŠคํŠธ์™€ ๊ฒฐ๊ณผ๊ฐ’ ๋ฆฌ์ŠคํŠธ๋ฅผ ์„ ์–ธํ•œ๋‹ค. 

1. score ๊ธธ์ด ๋งŒํผ for๋ฌธ์„ ๋Œ๋ฆฐ๋‹ค.

2. ์ˆœ์œ„ ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ 

2. ์ถ”๊ฐ€ํ•˜๋ฉด sort

3. ๋งŒ์•ฝ k์ผ ๋ณด๋‹ค 

   - ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค๋ฉด : (์‚ญ์ œ ์—†์ด) ์ •๋ ฌ ํ›„ ์ˆœ์œ„ ๋ฆฌ์ŠคํŠธ์˜ ๊ธธ์ด์˜ -1 ์ธ๋ฑ์Šค ๊ฐ’์„ ๊ฐ€์ ธ์™€ ๊ฒฐ๊ณผ๊ฐ’ ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•œ๋‹ค.

   - ํฌ๋‹ค๋ฉด : k ์ธ๋ฑ์Šค (=๋งˆ์ง€๋ง‰์— ๋ถ™์€ ๋ฐฐ์—ด)์„ ์ œ๊ฑฐํ•œ๋‹ค. ์ˆœ์œ„ ๋ฆฌ์ŠคํŠธ ๊ธธ์ด์˜ -1 ์ธ๋ฑ์Šค ๊ฐ’์„ ๊ฐ€์ ธ์™€ ๊ฒฐ๊ณผ๊ฐ’ ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•œ๋‹ค.

4. for๋ฌธ์„ ๋‚˜์™€ ๊ฒฐ๊ณผ๊ฐ’ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฐ˜ํ™˜

 

์†Œ์Šค์ฝ”๋“œ) 

* 1์ฐจ) ์„ฑ๊ณต

def solution(k, score):
    answer_List = []
    k_List = []
    for i in range(0, len(score)):
        k_List.append(score[i])
        k_List.sort()
        k_len = len(k_List)

        if len(k_List) > k:
            k_List.remove(k_List[0])
            answer_List.append(k_List[0])
        else :
            answer_List.append(k_List[0])

    return answer_List

 

๋ฆฌ๋ทฐ) 

sort ์˜ค๋ฆ„์ฐจ์ˆœ์ด๋‹ˆ 0๋ฒˆ์ด ๊ฐ€์žฅ ๋‚ฎ์€ ์ˆ˜์ž„์„ ์ƒ๊ฐํ•ด์„œ ์ฒ˜๋ฆฌํ•˜๋ฉด ์‰ฝ๋‹ค. ์ถ”์ธกํ•  ๋•Œ๋Š” ์ˆœ๊ฐ„ ๋‚ด๋ฆผ์ฐจ์ˆœ์ด๋ผ ์ƒ๊ฐํ•ด์„œ ๋ฐฐ์—ด ๋์„ ์ž๋ฅผ ์ƒ๊ฐ์„ ํ–ˆ์—ˆ๋‹ค. ๊ธฐ๋ณธ์€ ์˜ค๋ฆ„์ฐจ์ˆœ!! ์•ž์„ ์ž˜๋ผ์•ผํ•œ๋‹ค.

+ Recent posts