Summary for Sort Algorithm
์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ ํ์ด๋ฅผ ์ํ ํ์ ํจ์ ์ด์ ๋ฆฌ
๐์ฝ๋ฉํ ์คํธ์์ ์ ๋ ฌ ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด ๊ผญ ํ์ํ ํจ์ ์ด ์ ๋ฆฌ!!!!!๐
์ฝํ ์ ์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ ํ์ ์์ฝ ๋ณด๊ณ ๋ค์ด๊ฐ์ธ์!
๊ณ์ ์ ๋ฐ์ดํธ ํฉ๋๋ค.
์ ๋ ฌ ๋ฐฉ๋ฒ
List ์ ๋ ฌ
-
list ์๋ณธ์ ๋ณ๊ฒฝํ๊ฑฐ๋ ์ ๋ ฌํ list๋ฅผ returnํ๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ผ๋ฉฐ ๋ ๋ฐฉ๋ฒ ๋ชจ๋ key์ reverse ๋ชจ๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
-
์ ๋ ฌ์ default๋ ์ค๋ฆ์ฐจ์์ด๋ค.
List ์๋ณธ ๋ณ๊ฒฝ
์์) ์ฒซ ๋ฒ์งธ key(x1)๋ฅผ ๊ธฐ์ค ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ ๋ค, ๋ ๋ฒ์งธ key(-x[0])๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
list.sort(key=lambda x: (x1, -x[0]), reverse=True)
์ด ๋ฐฉ๋ฒ์ ๋ฐํ ๊ฐ์ด ์์ผ๋ฉฐ (Return None) ์๋ณธ์ ๋ฐ๊พธ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
์๋ก์ด list ๋ฐํ
sorted_list = sorted(list, key=lambda x: x1**2, reverse=True)
์์: ๋ฌธ์์ด ์ ๋ ฌ
ํ๋ก๊ทธ๋๋จธ์ค ๊ฐ์ฅ ํฐ ์ ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์ โ๋ฌธ์์ด ๋น๊ต ์ฐ์ฐ ๋ฐฉ๋ฒโ ์ ๋ํ ์ดํด๊ฐ ํ์ํฉ๋๋ค.
- String(๋ฌธ์์ด) ๋น๊ต ์ฐ์ฐ์ ์ฒซ๋ฒ์งธ ์ธ๋ฑ์ค๋ฅผ ๋น๊ตํ๊ณ ๊ฐ์ผ๋ฉด ๋ค์ ์ธ๋ฑ์ค๋ฅผ ๋น๊ตํ๋ค.
์ฆ, ๋ฌธ์์ด ๋น๊ต ์ฐ์ฐ์ด ์ฒซ ๋ฒ์งธ ์์ ๋น๊ต-> ๋ ๋ฒ์งธ ์์ ๋น๊ตโฆ ์์๋ก ์ด๋ฃจ์ด์ง๊ธฐ ๋๋ฌธ์,
์ ๋ ฅ๋ ์ซ์์ ์๋ฆฟ์๊ฐ ์๋ก ๋ค๋ฅผ ๊ฒฝ์ฐ ๋ฌธ์์ด ๊ณฑ์ ์ ํตํด ๊ฐ์ฅ ์งง์ ๋ฌธ์์ด์ ์๋ฆฌ์๋ฅผ ๋๋ ค์ค๋๋ค.
numbers = [30,3,34]
strings = list(map(str,numbers))
# ์
๋ ฅ๋ ์ซ์์ ์๋ฆฟ์๊ฐ ์๋ก ๋ค๋ฅผ ๊ฒฝ์ฐ
# key์ ๋ฌธ์์ด ๊ณฑ์
์ด์ฉํ์ฌ ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ๋ง์ถฐ์ค๋ค.
# key=lambda x: x*2 ์์)'1'*2 -> '11'
strings_sorted = sorted(strings,key=lambda x: x*2, reverse=True)
print(strings_sorted)
#->['34', '3', '30']
integer_sorted = sorted(numbers,key=lambda x: x*2, reverse=True)
print(integer_sorted)
#->[34, 30, 3]
Array ์ ๋ ฌ
Import numpy as np
np.sort(array)
- reverse(๊ฑฐ๊พธ๋ก): np.sort()[::-1]
List ๋ง์
list = [1,2,3]
๋ค๋ฅธ ๋ฆฌ์คํธ ๋ด๋ถ์ ์์ ์ถ๊ฐ
list+list
list+[4,5]
-> [1,2,3,4,5]
list.extend(๋ฆฌ์คํธ)
โ ๏ธ extend(๋ฆฌ์คํธ) โญ๏ธ extend(์์) โ : extend ํจ์๋ input์ ๋ฆฌ์คํธ๋ง ๋ฃ์ ์ ์๋ค
list.extend([4,5])
-> [1,2,3,4,5]
๋ค๋ฅธ ๋ฆฌ์คํธ ์ ์ฒด ์ถ๊ฐ
list.append(๋ฆฌ์คํธ, ์์)
๐ append(๋ฆฌ์คํธ) โญ๏ธ append(์์) โญ๏ธ : append ํจ์๋ input์ ๋ฆฌ์คํธ์ ์์ ๋ชจ๋ ๋ฃ์ ์ ์๋ค.
๐ ๋ฐ๋ผ์ stack, queue๋ฅผ ๊ตฌํํ๊ณ ์์๋ฅผ ์ถ๊ฐํ ๋๋ list.append(node)๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
โ ๏ธ ํ์ง๋ง list๋ฅผ ์ฌ์ฉํ๋ฉด ์๊ฐ ๋ณต์ก๋๊ฐ ์ฆ๊ฐํ๋ฏ๋ก collections.deque ๋ฅผ ์ฌ์ฉํ๋๋ก ํ์!
(deque ๊ด๋ จ ๊ธ์ ์ฐธ๊ณ ํ์ธ์)
list.append([4,5])
-> [1,2,3,[4,5]]
list.append(4)
-> [1,2,3,4]
String ๋ง์
๋ฌธ์์ด(string)์ผ๋ก ๊ตฌ์ฑ๋ list์ ๋ชจ๋ ์์๋ค์ ๋ํ ๋.
''.join(['a','b','c'])
#-> 'abc'
'_'.join(['a','b','c'])
#-> 'a_b_c'
Zip๊ณผ Enumerate
๊ธธ์ด๊ฐ ๊ฐ์ ๋ list์ ๊ฐ ์์๋ฅผ ์ง์ง์ด ๋ฐ๋ฆฌ๊ณ ๋ค๋๊ณ ์ถ์ ๋.
ํนํ, for loop ์ฌ์ฉํ๋ฉฐ ํด๋น ์์์ index(์ธ๋ฑ์ค)๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ ๋ ์์ฃผ ์ ์ฉ.
singer = ['zico', '์ ์ฌ', 'ํฌ๋ฌ์ฌ']
genre = ['hip-pop', 'indi', 'R&B']
for idx, (s, g) in enumerate(zip(siger, genre)):
print(idx, s, g)
Map
List ์์ ๋ชจ๋ ์์๋ค์ ์๋ฃํ์ ๋์์ ๋ฐ๊พธ๊ณ ์ถ์ ๋. For๋ฌธ ๋ง๊ณ ์ด๊ฑฐ ์ฐ์ธ์!
numbers = [1,2,3]
numbers = list(map(str, numbers))
print(numbers)
# -> ['1','2','3']