데이터분석가/Python

[프로그래머스] K번째 수

chan's chance 2022. 12. 16. 17:31

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

 

프로그래머스

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

programmers.co.kr

 

index에 대한 기초적인 이해를 갖고 sorted() 를 이용하여 정렬만 하면 되는 문제였습니다.

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

 

문제를 풀고, 다른 사람의 답안을 확인하였는데 2줄로 풀이한 사람이 있어 공유합니다.

 

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

 

둘의 방식은 같으나, 하나는 리스트 컴프리헨션을 사용하였고, 다른 하나는 맵과 람다를 사용하였습니다.