본문 바로가기

알고리즘/프로그래머스

[프로그래머스][Python] K번째수

조건에 따라서 array[i] ~ array[j]까지 정렬하고, k번째 원소가 무엇인지 찾으면 된다.

 

 

def solution(array, commands):
    answer = []

    for com in commands:
        i, j, k = com
        tmp = sorted(array[i-1:j])
        answer.append(tmp[k-1])

    return answer


print(solution([1, 5, 2, 6, 3, 7, 4], [[2, 5, 3], [4, 4, 1], [1, 7, 3]]))

 

 

다른 사람 풀이를 보자.

 

 

def solution(array, commands):
    return list(map(lambda x:sorted(array[x[0]-1:x[1]])[x[2]-1], commands))

 

 

lambda를 이용하면 이렇게 간단하게도 가능하다.