프로그래머스 정렬 문제 풀이
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
파이썬 코딩 도장: 22.6 리스트에 map 사용하기
이번에는 리스트에 map을 사용해보겠습니다. map은 리스트의 요소를 지정된 함수로 처리해주는 함수입니다(map은 원본 리스트를 변경하지 않고 새 리스트를 생성합니다). list(map(함수, 리스트)) tupl
dojang.io
programmers.co.kr/learn/courses/30/lessons/42748?language=python3
코딩테스트 연습 - K번째수
[1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3]
programmers.co.kr
위키독스
온라인 책을 제작 공유하는 플랫폼 서비스
wikidocs.net
'알고리즘' 카테고리의 다른 글
[이진탐색] 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 |