221026 TIL
๋ฐฑ์ค
Class2
- 1012๋ฒ ๋ฌธ์ _์ ๊ธฐ๋ ๋ฐฐ์ถ
- 1654๋ฒ ๋ฌธ์ _๋์ ์๋ฅด๊ธฐ
- 2108๋ฒ ๋ฌธ์ _ํต๊ณํ
ํ๋ก๊ทธ๋๋จธ์ค
Level1
Level2
Level3
CS
์ค๋ ๋ฐฐ์ด ๋ด์ฉ
Counter ํจ์
Counter ์์ฑ๋ ์ฌ๋ฌ ํํ์ ๋ฐ์ดํฐ๋ฅผ ์ธ์๋ก ๋ฐ๋๋ฐ ๋จผ์ ์ค๋ณต๋ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ ๋ฐฐ์ด์ ์ธ์๋ก ๋๊ธฐ๋ฉด ๊ฐ ์์๊ฐ ๋ช๋ฒ์ฉ ๋์ค๋์ง๊ฐ ์ ์ฅ๋ ๊ฐ์ฒด๋ฅผ ์ป๊ฒ ๋๋ค.
from collections import Counter >>> Counter(["hi", "hey", "hi", "hi", "hello", "hey"]) Counter({'hi': 3, 'hey': 2, 'hello': 1})
BFS / DFS
- ๊น์ด ์ฐ์ ํ์(DFS)
- ๋ฃจํธ ๋ ธ๋(ํน์ ๋ค๋ฅธ ์์์ ๋ ธ๋)์์ ์์ํด์ ๋ค์ ๋ถ๊ธฐ(branch)๋ก ๋์ด๊ฐ๊ธฐ ์ ์ ํด๋น ๋ถ๊ธฐ๋ฅผ ์๋ฒฝํ๊ฒ ํ์ํ๋ ๋ฐฉ์
- ๋๋น ์ฐ์ ํ์(BFS)
- ๋ฃจํธ ๋ ธ๋(ํน์ ๋ค๋ฅธ ์์์ ๋ ธ๋)์์ ์์ํด์ ์ธ์ ํ ๋ ธ๋๋ฅผ ๋จผ์ ํ์ํ๋ ๋ฐฉ๋ฒ์ผ๋ก, ์์ ์ ์ ์ผ๋ก๋ถํฐ ๊ฐ๊น์ด ์ ์ ์ ๋จผ์ ๋ฐฉ๋ฌธํ๊ณ ๋ฉ๋ฆฌ ๋จ์ด์ ธ ์๋ ์ ์ ์ ๋์ค์ ๋ฐฉ๋ฌธํ๋ ์ํ ๋ฐฉ๋ฒ
- ์ฃผ๋ก ๋ ๋ ธ๋ ์ฌ์ด์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ์ฐพ๊ณ ์ถ์ ๋ ์ด ๋ฐฉ๋ฒ์ ์ ํ
DFS(๊น์ด ์ฐ์ ํ์) BFS(๋๋น ์ฐ์ ํ์) > ํ์ฌ ์ ์ ์์ ๊ฐ ์ ์๋ ์ ๋ค๊น์ง ๋ค์ด๊ฐ๋ฉด์ ํ์ > ํ์ฌ ์ ์ ์ ์ฐ๊ฒฐ๋ ๊ฐ๊น์ด ์ ๋ค๋ถํฐ ํ์ ์คํ ๋๋ ์ฌ๊ท ํจ์๋ก ๊ตฌํ ํ๋ฅผ ์ด์ฉํด์ ๊ตฌํ
- ๊น์ด ์ฐ์ ํ์(DFS)
BFS
from collections import deque
def bfs(graph, start, visited):
queue = deque([start])
visited[start] = True
while queue:
v = queue.popleft()
print(v, end=' ')
for i in graph[v]:
if not visited[i]:
queue.append(i)
visited[i] = True
- DFS
def dfs(graph, v, visited):
visited[v] = True
print(v, end=" ")
for i in graph[v]:
if not visited:
dfs(graph, i, visited)
- ์ด๋ถ ํ์(Binary Search)
- ์๊ฐ๋ณต์ก๋ :
O(logN)
- ์ ๋ ฌ๋ ์๋ฃ๋ฅผ ๋ฐ์ผ๋ก ๋๋์ด ํ์ํ๋ ๋ฐฉ๋ฒ
- ์ฃผ์์
- ์๋ฃ๋ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ ์๋ฃ์ฌ์ผ ํ๋ค.
- ์๊ฐ๋ณต์ก๋ :
'๐ฉ TIL[Today I Learned' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ฉ 221031 TIL[Today I Learned] (0) | 2022.10.31 |
---|---|
๐ฉ 221030 TIL[Today I Learned] (0) | 2022.10.31 |
๐ฉ 221029 TIL[Today I Learned] (0) | 2022.10.30 |
๐ฉ 221028 TIL[Today I Learned] (0) | 2022.10.28 |
๐ฉ 221027 TIL[Today I Learned] (0) | 2022.10.28 |