๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด/๊ตฌํ˜„

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] k๋ฒˆ์งธ์ˆ˜

by syLim___ 2023. 4. 6.
728x90

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

 

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

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

programmers.co.kr


์ฒ˜์Œ ์ž‘์„ฑํ•œ ์ฝ”๋“œ (์ •๋‹ต)

def solution(array, commands):
    answer = []
    for command in commands:
        i, j, k = command
        temp = []
        for x in range(i-1,j):
            temp.append(array[x])
        temp.sort()
        answer.append(temp[k-1])
    return answer

 

์ˆ˜์ •ํ•œ ์ฝ”๋“œ (์ •๋‹ต)

def solution(array, commands):
    answer = []
    for command in commands:
        i, j, k = command
        temp = sorted(array[i-1:j])
        answer.append(temp[k-1])
    return answer

๋ฆฌ์ŠคํŠธ ์Šฌ๋ผ์ด์‹ฑ์„ ํ•˜๋ฉด ๋ถˆํ•„์š”ํ•œ for๋ฌธ ์‚ฌ์šฉ์„ ํ•˜์ง€ ์•Š์•„๋„ ๋˜์—ˆ๋‹ค.

 


์‚ฌ์†Œํ•œ ๊ฑฐ์ง€๋งŒ, ๋‹น์—ฐํžˆ temp ๋ณ€์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  ์•„๋ž˜์™€ ๊ฐ™์ด ํ•œ ์ค„๋กœ ์จ์ค„ ์ˆ˜๋„ ์žˆ๋‹ค.

#ํ•œ์ค„
answer.append( sorted(array[i-1:j])[k-1] )

#๋‘์ค„
temp = sorted(array[i-1:j])
answer.append(temp[k-1])

๊ฐœ์ธ์ ์œผ๋กœ ํ•œ์ค„์งœ๋ฆฌ๋Š” ๊ฐ€๋…์„ฑ์ด ์ข€ ๋–จ์–ด์ง€๋Š” ๊ฒƒ ๊ฐ™์•„ ๋‘ ์ค„๋กœ ๋ถ„๋ฆฌํ•ด์„œ ์ž‘์„ฑํ–ˆ๋‹ค.

728x90