문제 설명
배열 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 |