(1) sorted()
L = [3, 8, 2, 7, 6, 10, 9]
L2 = sorted(L)
(2) sort()
L = [3, 8, 2, 7, 6, 10, 9]
L.sort()
만약 정렬순서를 내림차순으로 바꾸고 싶다면 reverse = True 추가해주기
* 문자열로 이루어진 리스트의 경우, 정렬 순서는 알파벳 순서를 따름.*
ex1) 문자열 길이 순으로 정렬
L = ['abcd', 'xyz', 'spam']
sorted(L, key = lambda x: len(x))
# 결과 : ['xyz', 'abcd', 'spam']
ex2) score가 높은 순으로 정렬
L = [{'name' : 'John', 'score' : 83},
{'name' : 'Paul', 'score' : 92}]
L.sort(key = lambda x: x['score'], reverse = True)
(1) 선형탐색(Linear Search) 혹은 순차탐색
(2) 이진탐색(binary search)
def solution(L, x):
l = 0
r = len(L) - 1
while l <= r:
m = (l + r) // 2
if L[m] == x:
return m
elif L[m] < x:
l = m + 1
elif L[m] > x:
r = m - 1
return -1