자료구조&알고리즘/프로그래머스

[Python] K번째 수 - 정렬

두잇 두두 2024. 2. 12. 10:48
728x90

문제

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

 

프로그래머스

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

programmers.co.kr

 

 

코드

 

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

 

 

 

 

다른 사람 코드

 

def solution(array, commands):
    return list(map(lambda x:sorted(array[x[0]-1:x[1]])[x[2]-1], commands))

 

 

 

접근법

주어진 array에서 commands에 주어진 연산을 수행하여 결과를 반환하는 문제입니다.

문제에 주어진 대로 각 연산을 수행하고 그 결과를 리스트에 담아 반환하면 됩니다.

 

 

 

 

배운 점

리스트 컴프레이션을 사용하는게 옛날에는 낯설었는데 이제는 코드가 읽힌다.

그래도 꼭 써야하는가 아직까지 의문이다.