https://school.programmers.co.kr/learn/courses/30/lessons/42748
문제에 대한 설명은 다음과 같고, 매우 간단하다.
def solution(array, commands):
answer = []
for p in range(len(commands)):
i, j, k = commands[p][0], commands[p][1], commands[p][2] - 1
# 배열 슬라이싱
test = array[i-1:j]
test.sort()
answer.append(test[k])
return answer
이 문제는 파이썬에서 간단하게 리스트를 자를 수 있는 방법을 소개하기 위함이다.
slice_list[start:end:step]
위의 코드가 의미하는 바는 다음과 같다.
slice_list를 start 인덱스부터 end-1 인덱스까지 step만큼 건너 뛰어서 슬라이싱 한다.
slice_list = [1, 2, 3, 4, 5]
print(slice_list[1:]) # [2, 3, 4, 5]
print(slice_list[-3:]) # [3, 4, 5]
print(slice_list[:2]) # [1, 2]
print(slice_list[:-1]) # [1, 2, 3, 4]
print(slice_list[::2]) # [1, 3, 5]
print(slice_list[::-1] # [5, 4, 3, 2, 1]