프로그래머스 정렬 문제 풀이
def solution(array, commands):
# array는 0~100수
# commands는 100 x 3
answer = []
for i in range(len(commands)):
start = commands[i][0]
end = commands[i][1]
k = commands[i][2]
cut = array[start-1:end]
cut.sort()
answer.append(cut[k-1])
return answer
문제는 간단히 해결할 수 있었지만 다른 풀이들을 보며 배울 점이 많았습니다.
특히 map()과 lambda와 sorted()함수를 사용해 단 두 줄만에 작성한 코드도 있었습니다.
lambda와 map, sorted관련해서 간단히 정리해보고 활용해봐야겠습니다.
# list에 map 적용하기
list_n = [3.3,5.5,1.1,4.4,7.7]
list_n = list(map(int, list_n))
print(list_n)
# 적용된 결과 정렬
print(sorted(list_n))
map은 list외에도 반복 가능한 객체에 대해서 적용이 가능합니다.
# list외에 반복가능한 객체들에 대해서 map 적용이 가능하다.
list_str = list(map(str, list_n))
print(list_str)
참고한 사이트
dojang.io/mod/page/view.php?id=2286
programmers.co.kr/learn/courses/30/lessons/42748?language=python3
'알고리즘' 카테고리의 다른 글
[이진탐색] Binary Search - Python (2) | 2020.12.25 |
---|---|
[버블 정렬] Bubble Sort - Python (0) | 2020.12.25 |
[퀵 정렬] Quick Sort - Python (0) | 2020.12.24 |
[병합 정렬] Merge Sort - Python (0) | 2020.12.24 |
[선택정렬, 삽입정렬] - Selection Sort, Insertion Sort (Python) (0) | 2020.12.23 |