k번째 수

yongju·2022년 11월 3일
0

Programmers

목록 보기
5/23
post-thumbnail

프로그래머스 [정답률 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))
profile
AI dev

0개의 댓글