[Programmers / Python / 정렬] - K번째수

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

Q.
배열 array와 commands(i,j,k)가 주어졌을 때
i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하기

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

다른 사람의 풀이

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

아직 나는 lambda가 익숙하지 않아서 코드를 작성할 때 잘 사용하지 못하는거 같다.
lambda와 익숙해지기...!

정리

map(함수, iterable)

a = map(int, input().split()) #10 20 입력 받으면
list(a) #[10, 20]

(lambda 인자 : 표현식)

a = list(map(lambda x: x + 10, [1, 2, 3]))
list(a) #[11, 12, 13]

좋은 웹페이지 즐겨찾기