프로그래머스 [정답률 67%]
문제 정리
사용한 파라미터
array(list_int) : 편집될 어레이
commands(list_int) : 편집할 기준 어레이 [i, j, k]
i(int) i번째부터
j(int) j번째까지의 숫자 가져와서 정렬
k(int) 정렬된 리스트의 k번째 수 가져오기
changed(list_int) : array에서 i번째부터 j번째 수 가져온 새로운 리스트
res(list_int) : 정렬된 changed에서 k번째 수 가져오기
사용한 기능
list, sorted
코드
def solution(array, commands):
res=[]
for i in range(len(commands)):
i, j, k=commands[i][0], commands[i][1], commands[i][2]
changed=sorted(array[i-1:j])
res.append(changed[k-1])
return res
코드 설명
i, j, k=commands[i][0], commands[i][1], commands[i][2]
입력으로 받은 commands에서 i, j, k 값 가져오기
changed=sorted(array[i-1:j])
res.append(changed[k-1])
인덱스로 접근하기 때문에 i-1부터 j-1까지 가져와서 정렬
정렬된 changed의 k-1번째의 값 가져오기
프로그래머스 코드 리뷰
def solution(array, commands):
return list(map(lambda x:sorted(array[x[0]-1:x[1]])[x[2]-1], commands))