๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ •๊ธ€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.