본문 바로가기

Programming/Python

[프로그래머스] 정렬 - K번째수 (Python3, 파이썬)

1. 문제

문제 요약

  • 배열 array를 i번째 숫자부터 j번째 숫자까지 자르고 정렬한 후 k번째에 있는 수를 구한다.
  •  주어지는 값 : 배열 array와 commands
  •  사용되는 공식 : commands 배열에 들어있는 i,j,k의 값에 따라 array를 자르고 정렬한 후 원하는 값을 구하면 된다.

2. 입출력 예시와 설명

3. 코드

- 내가 시도한 코드 (정답 코드, 정렬 사용)

def solution(array, commands):
    answer = []
    tmp = []
    for i in commands:
        tmp = array[i[0]-1:i[1]]
        tmp.sort()
        answer.append(tmp[i[2]-1])
        tmp = []
    return answer

파이썬에서 리스트를 정렬할 때는 .sort()해주면 되고 반복문 안에서 슬라이싱을 통해 tmp 리스트에 넣어주고 tmp 리스트를 정렬 후 .append()로 answer 리스트에 답만 넣어주는 방식으로 했다. tmp를 반복문을 돌 때 마다 초기화시켜줬다.