์ ๊ธ3 [Week03] ์๊ณ ๋ฆฌ์ฆ - DFS / BFS ๋ฐฑ์ค ๋ฌธ์ ๋ ๋ฌธ์ ๋ฅผ ๊ตฌ๋ถํ๋ ๊ธฐ์ค์ด ์ฝ๊ฐ ๋ชจํธํ์ง๋ง.. ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ๋ง๋ฌ๋ ๋ช๋ช ์ ํ๋ค์ ๊น๋จน์ง์๊ธฐ ์ํด ์ ๋ฆฌํด๋๋ค. DFS / ๋ฐฑํธ๋ํน nums = [1,2,3] result = [] permute = [] def dfs(): if len(permute) == len(nums) : result.append(permute[:]) return for i in range(len(nums)) : if nums[i] not in permute : permute.append(nums[i]) dfs() permute.pop() dfs() print(result) DFS 25731๋ฒ : ๋น์ฐ https://www.acmicpc.net/problem/2573 2573๋ฒ: ๋น์ฐ ์ฒซ ์ค์๋ ์ด์ฐจ์ ๋ฐฐ์ด์ ํ์ ๊ฐ์์ ์ด์ ๊ฐ์๋ฅผ.. 2022. 4. 21. [Week02] ์๊ณ ๋ฆฌ์ฆ - ์ด๋ถํ์ [Week02] ์๊ณ ๋ฆฌ์ฆ ํค์๋ - ์ด๋ถํ์, ๋ถํ ์ ๋ณต, ์คํ, ํ, ์ฐ์ ์์ ํ ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ - ์ ํํ์ / ์ด๋ถ ํ์ ์ด๋ถํ์ ์ ๋ ฌ์ด ๋์ด์๋ ๋ฐฐ์ด์์ ํน์ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๊ธฐ ์ํด์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์์ฐจ์ ์ผ๋ก ํ์ธํ๋ ๋์ ํ์์ ๋ฒ์๋ฅผ ์ ๋ฐ์ผ๋ก ์ค์ฌ๋๊ฐ๋ ํ์ ๋ฐฉ๋ฒ ์ด๋ถํ์ ์ฌ์ฉ์ ์ฃผ์์ฌํญ ์ฃผ์ด์ง ๋ฐฐ์ด์ ์ ๋ ฌ๋์ด์์ด์ผํ๋ค. ๋ฌดํ ๋ฃจํ์ ๋น ์ง์ง์๊ฒ mid๊ฐ์ ์ ์ง์ ํด์ค๋ค ์ฐจ๋ก๋ก ์ฆ๊ฐ(ํน์ ๊ฐ์)์ํค๋ฉด์ ํ์ด์ผํ๋ ํ์๋ฌธ์ ์ ํฐ ์์ ๋ฒ์๊ฐ ์ฃผ์ด์ง๋ค๋ฉด ์ด๋ถํ์์ ๋ ์ฌ๋ ค๋ณด์. ์๊ฐ๋ณต์ก๋ O(logN) โ ์ด๋ถํ์ ๊ตฌํํ๊ธฐ while๋ฌธ์ ์ด์ฉํ์ฌ ๊ตฌํ def binary_serch(a,n_list) : st = 0 en = n-1 while st a : en = mid -1 else : st = mid + .. 2022. 4. 9. [SW์ฌ๊ดํ๊ต ์ ๊ธ] ๋๋ฅผ ๋์๋ณด๋ ์๊ฐ ์์ธ์ด ๊ณผ๊ฑฐ์ ๋ํ ์ฑ์ฐฐ ์ง๋์จ ์๊ฐ์ ๋์ด์ผ๋ณด๋ฉด ๋๋ ๋์ ํ๊ธฐ๋ณด๋จ ํญ์ ์์ ์ ์ธ ์ ํํ์๋ค. ๋น์์๋ ๋ด๊ฐ ์์ ์ ์ธ ์ถ์ ์ถ๊ตฌํ๋ ์ฌ๋์ด๋ผ ์๊ฐํ์๋๋ฐ ์ง๊ธ ๋๋์๋ณด๋ฉด ์คํจํ๋๊ฒ ๋๋ ค์์ ์์ ์ ์ธ ๊ฒ์ ์ข์ํ๋ค๊ณ ์ค์ค๋ก ํฉ๋ฆฌํ๋ฅผ ํ๋๊ฒ๊ฐ๋ค. ๊ฐ๋ฐ์๊ฐ ๋๊ณ ์ถ๋ค๋ ์๊ฐ์ ๊ณ์ํ์์ผ๋ ์ฐ๋ฌ๋ณด๊ธฐ์์ผ๋ก๋ง ํ๊ณ ์ฌ๋๋ก ๋์ ํ์ง ๋ชปํ์ฑ ๋ช๋ ์ด ํ๋ ๋ค. ํ์ฌ๋ฅผ ๊ด๋๊ณ ์ ๊ธ์ ์ ์ํ๊ฒ์ ๋์๊ฒ ํฐ ๋์ ์ด์๋ค. ๋์๊ฒ ์ฃผ์ด์ง ์ด๋ฌํ ๊ธฐํ๋ฅผ ์์คํ ์ฌ๊ธฐ๊ณ ํํํ์ง ์๋๋ก ์ต์ ์ ๋คํ ๊ฒ์ด๋ค. 5๊ฐ์ ๋์ ์ป์ด๊ฐ๊ณ ์ถ์ ๊ฒ ๐ค ์ ๊ธ์ ํตํด ๋ง์ ๊ฒ๋ค์ ์ป์ด๊ฐ ์ ์๊ฒ ์ง๋ง ๊ฐ์ฅ ์ค์ํ๊ฒ์ ๊ฐ๋ฐ์๋ก์ ์ข์ ์ต๊ด์ ๋ค์ด๋๊ฒ์ด๋ผ ์๊ฐํ๋ค. ์ข์ ํ๊ฒฝ์์ ๊ณต๋ถํ๋ ๋ฐฉ์, ๊ฐ๋ฐ์์ ์ฌ๊ณ ๋ฑ ์ข์ ์ต๊ด์ ๋ค์ฌ์ ์ ๊ธ ํ์๋ ์ง์์ ์ผ๋ก ๋ฐ์ ๊ฐ๋ฅํ.. 2022. 4. 2. ์ด์ 1 ๋ค์