k 번째 수

문제 설명

배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다.

핵심아이디어

첫 번째 인덱스는 0으로 시작하기 때문에, 슬라이싱을 i-1로 두면 편하다.

sorted() 함수를 사용하면 리스트를 오름차순으로 정렬할 수 있다.

첫 코드

def solution(array, commands):
    answer = []
    for i in range(0, len(commands)):
        temp = sorted(array[commands[i][0]-1:commands[i][1]])
        answer.append(temp[commands[i][2]-1])
    return answer

개선된 코드

def solution(array, commands):
   	answer = []
    for i, j, k in commands:
       answer.append(sorted(array[i-1:j])[k-1])
        
    return answer

 

'알고리즘 > 프래그래머스 lv.1' 카테고리의 다른 글

나누어 떨어지는 숫자 배열  (0) 2022.10.19
하샤드 수  (0) 2022.10.19
핸드폰 번호 가리기  (0) 2022.10.19
자연수 뒤집어 배열로 만들기  (0) 2022.10.18
정수 내림차순으로 배치하기  (0) 2022.10.18