K번째수(programmers 문제) python 풀이

Jipoleon·2021년 5월 26일
0

programmers

목록 보기
4/9
post-thumbnail

문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42748?language=python

인풋으로 array에는 배열, commands에는 이중 배열이 들어온다.

commands안에 있는 배열들은 길이가 모두 3개인데, 각 배열의 인덱스값은 순서대로 슬라이싱 시작 인덱스, 끝 인덱스 그리고 슬라이스된 배열의 인덱스 번호이다.

내 풀이

def solution(array, commands):
    answer = []
    for command in commands:
        # print(command[0], command[1], command[2])
        slice_array = array[command[0]-1:command[1]]
        slice_array.sort()
        answer.append(slice_array[command[2] - 1])

    return answer

먼저 이중 배열인 commands의 배열 인자값에 접근하기 위해 commands를 for문 안에 넣어 돌린다. 각 배열인 command를 활용해 slice_array를 구하고, sort로 정렬을 한다. 마지막으로 정렬한 slice_array에서 원하는 인덱스에 해당하는 값을 answer에 append한다.

for문을 다 거친 뒤 최종적으로 answer를 리턴해준다.

결과

profile
I Love AI

0개의 댓글