알고리즘 풀이/프로그래머스
[Level1] K번째수
iwannawebfullstack
2021. 1. 22. 18:11
문제
배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구한다.
입력
array |
commands |
[1, 5, 2, 6, 3, 7, 4] |
[[2, 5, 3], [4, 4, 1], [1, 7, 3]] |
출력
[5,6,3]
1. commands에서 i, j, k를 꺼낸다.
2. slicing을 활용하여 number에 i-1:j 까지 대입한다.
3. number를 오름차순 정렬하고
4. number의 k-1번째 수를 answer에 추가한다.
python
def solution(array, commands):
answer = []
for idx in range(len(commands)):
i=commands[idx][0]
j=commands[idx][1]
k=commands[idx][2]
number=array[i-1:j]
number.sort()
answer.append(number[k-1])
return answer