자유로운영혼이다냥 2023. 12. 28. 23:41

링크

https://school.programmers.co.kr/learn/courses/30/lessons/42748

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 


 

문제


 

정답

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

 


 

풀이과정

 

commmands는 문제가 되는 배열이 담긴 배열이고, 길이가 50 이하이므로 순회로 간편하게 해결하도록 하자.

    answer = []
    for i, j, k in commands:

각 항목에 대한 조건이되는 i, j, k를 구했다. 그러면 이제 차례대로 해결해보자.

1. array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다.

인덱싱은 0부터 시작하고, 문제는 1부터 시작했다. 1을 뺴주자

arr = array[i-1:j]

 

2. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다.

arr.sort()

 

3. 2에서 나온 배열의 3번째 숫자는 5입니다.

여기서 나온 숫자를 정답 배열에 append해주면 된다.

answer.append(arr[k-1])