What I Learned/Algorithm Practice

[programmers - python] Lv.1: K번째수

Interrobang 2022. 12. 29. 16:40

문제 링크

 

프로그래머스

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

programmers.co.kr

문제 풀이

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

K번째수 입출력 테스트

*key point: 리스트의 index에 유의하기만 하면 어렵지 않게 풀 수 있다.

 

*comment: for문을 사용해서 리스트의 요소별로 반복할 때 다음과 같은 방식으로 보다 간단한 풀이가 가능하다.

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