Study Algorithm
์ฐจ์ด์
- sorted()์ ๊ฒฝ์ฐ, ์๋ณธ์ ๋ฐ๊พธ์ง ์๋๋ค. ๊ทธ๋ฆฌ๊ณ iterableํ ๋ฐ์ดํฐ ํ์ (ex. ์ฌ์ , ํํ ๋ฑ)์๋ ์ฌ์ฉ๊ฐ๋ฅํ๋ค.
- sort()์ ๊ฒฝ์ฐ, ์๋ณธ ์์ฒด๊ฐ ๋ฐ๋๋ค. ํ์ฌ ๋ฆฌ์คํธ ํ์ ์๋ง ์ฌ์ฉ๊ฐ๋ฅํ๋ค.
๊ณตํต์
- key=์ ํตํด ์ ๋ ฌ ๊ธฐ์ค์ ์์ ์ค์ ํ ์ ์๋ค.
- reverse=True/False๋ฅผ ํตํด ์ค๋ฆ์ฐจ์/๋ด๋ฆผ์ฐจ์์ ํต์ ํ ์ ์๋ค.
eval()์ ๋งค๊ฐ๋ณ์๋ก '์'์ ๋ฌธ์์ด ํํ๋ก ๋ฐ์์ ๊ทธ ์์ ์คํ๊ฐ(๊ฒฐ๊ณผ๊ฐ)์ ๋ฆฌํดํด์ฃผ๋ ํจ์์ด๋ค.
๋ ๋ฒ์งธ ์์์ ๊ฐ์ด ํจ์๋ํ ํฌํจํ์ฌ ๊ณ์ฐํ ์ ์๋ค. (๊ทธ์ธ ์์ธํ ์ ๋ณด)
eval('3+5')
>>> 8
eval('abs(-2-8)')
>>> 10
Off the record: ์ด ํจ์๋ฅผ ์๊ฒ๋ ๊ฒ์ 2020 ์นด์นด์ค ์ธํด์ญ ์์์ต๋ํ ๋ฌธ์ ๋ฅผ ํ๋ฉด์์๋ค. ๋๋ ์์ ๊ณ์ฐ์ ์ํด ๋ฌธ์์ด ๋ด ์ซ์๋ intํ์ผ๋ก ๋ณ๊ฒฝํด์ฃผ๊ณ , ๊ณ์ฐ์ ์ํด ํจ์๋ ๋ฐ๋ก ๋ง๋ค์๋๋ฐ, ๋ค๋ฅธ ์ฌ๋๋ค์ ํ์ด์๋ ๊ทธ ๊ณผ์ ์ด ๋ณด์ด์ง ์์ ์ ์ฌํ ์ดํด๋ณด๋ ๊ทธ๋ค์ ์ด ํจ์๋ฅผ ํ์ฉํ๊ณ ์์๋ค. ์ด๋ฅผ ํตํด ํ ๊ฐ์ง ๋ ๋ฐฐ์ ๋ค!
defaultdict()๋ ๋์
๋๋ฆฌ๋ฅผ ๋ง๋๋ dict ํด๋ผ์ค์ ์๋ธ ํด๋ผ์ค๋ผ๊ณ ํ๋ค.
defaultdict()๋ฅผ ์ฌ์ฉํ๋ฉด ์ธ์๋ก ์ฃผ์ด์ง ๊ฐ์ฒด์ ๊ธฐ๋ณธ๊ฐ์ ๋์
๋๋ฆฌ ๊ฐ์ ์ด๊ธฐ๊ฐ์ผ๋ก ์ค์ ํ ์ ์๋ค.
์ด ํจ์๋ฅผ ์ด์ฉํ๋ฉด ๋์
๋๋ฆฌ ๋ด์ ์๋ key๋ฅผ ํธ์ถํด๋ ์ค์ ๋ ์ด๊ธฐ๊ฐ์ผ๋ก ์๋ ์ด๊ธฐํ๋๊ธฐ ๋๋ฌธ์, ๋ถ๋ฌ์ค๊ณ ์ถ์ key๊ฐ ๋์
๋๋ฆฌ์ ์๋์ง ์๋์ง ํ์ธํ์ง ์์๋ ๋๋ค๋ ์ฅ์ ์ด ์๋ค.
# defaultdict()๋ฅผ ์ฌ์ฉํ์ง ์์ ๊ฒฝ์ฐ
word="this is example"
dictionary=dict()
for value in word:
if value in dictionary:
dictionary[value]+=1
else:
dictionary[value]=1
print(dictionary)
>>> {'t': 1, 'h': 1, 'i': 2, 's': 2, ' ': 2, 'e': 2, 'x': 1, 'a': 1, 'm': 1, 'p': 1, 'l': 1}
# defaultdict()๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
from collections import defaultdict # ๋จ ๋ฐ๋์ import
word="this is example"
dictionary=defaultdict(int)
for value in word:
dictionary[value] += 1 # ์ด๊ธฐํ ์์ด ๋ฐ๋ก ์ฐ์ฐํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค
print(dictionary)
>>> {'t': 1, 'h': 1, 'i': 2, 's': 2, ' ': 2, 'e': 2, 'x': 1, 'a': 1, 'm': 1, 'p': 1, 'l': 1}
์ด์ฒ๋ผ defaultdict()๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๋๊ฐ ํ๊ฒฐ ๊น๋ํด์ง๊ณ , ๊ตฌํํ๋ ๋ฐ์๋ ํธ๋ฆฌํ ๊ฒ์ ํ์ธํ ์ ์๋ค. ์ธ์๋ก list,set๋ฑ๋ ๋ฐ์ ์ ์๊ธฐ ๋๋ฌธ์ ๋ ๋ณต์กํ ๊ตฌํ๋ defaultdict()๋ฅผ ์ด์ฉํ๋ฉด ๋์ฑ ์์ฌ ์ง ๊ฒ์ด๋ผ๊ณ ์์๋๋ค!