조건에 따라서 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를 이용하면 이렇게 간단하게도 가능하다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스][Python] H-Index (0) | 2021.12.02 |
---|---|
[프로그래머스][Python] 가장 큰 수 (0) | 2021.11.30 |
[프로그래머스][Python] 주식가격 (0) | 2021.11.25 |
[프로그래머스][Python] 더 맵게 (0) | 2021.11.25 |
[프로그래머스][Python] 다리를 지나는 트럭 (0) | 2021.11.24 |