๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ(266)
-
DFS(๊น์ด ์ฐ์ ํ์), BFS(๋๋น ์ฐ์ ํ์)
DFS(๊น์ด ์ฐ์ ํ์), BFS(๋๋น ์ฐ์ ํ์) ์ค๋ ๋ฐฐ์๋ณผ ๋ด์ฉ์ ํ์์ด๋ค. ํ์์ด๋ ๋ง์ ์์ ๋ฐ์ดํฐ ์ค์์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๋ ๊ณผ์ ์ ๋งํ๋ค. ์ด๋ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋๋ฐ, ํ๋ก๊ทธ๋๋ฐ์์ ์์ฃผ ์ฌ์ฉํ๋, ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ์ค์์๋๋ ๊ตฌ์กฐ๋ ๋ฐ๋ก DFS, BFS ์ด๋ค. ์ด๋ฅผ ์ดํดํ๊ธฐ ์ํด์๋ ๋จผ์ ์๋ฃ๊ตฌ์กฐ์ ๋ํด์ ์์ ๋ณผ ํ์๊ฐ ์๋ค. ์๋ฃ๊ตฌ์กฐ๋ '๋ฐ์ดํฐ๋ฅผ ํํํ๊ณ ๊ด๋ฆฌํ๊ณ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๊ตฌ์กฐ'๋ฅผ ๋งํ๋ค. ๋ํ์ ์ผ๋ก ์๋ฃ๊ตฌ์กฐ์๋ ๋ฐฐ์ด, ์ฐ๊ฒฐ๋ฆฌ์คํธ, ์คํ, ํ, ํธ๋ฆฌ, ๊ทธ๋ํ๊ฐ ์๋๋ฐ, ์ฐ๋ฆฌ๊ฐ ํ์ํ ์๋ฃ๊ตฌ์กฐ๋ ์คํ๊ณผ ํ์ด๋ค. ์คํ(Stack) "๋จผ์ ๋ค์ด๊ฐ ๋ฐ์ดํฐ๊ฐ ๊ฐ์ฅ ๋์ค์ ๋์จ๋ค"๊ฐ ํต์ฌ์ด๋ค. ์ด๋ฅผ ์ฐ๋ฆฌ๋ FILO(First In Last Out)๋ผ๊ณ ๋ถ๋ฅธ๋ค. ํ์ด์ฌ์์ ์คํ์ ๊ธฐ๋ณธ ๋ฆฌ์คํธ์์..
2020.08.25 -
ํ์ด์ฌ์ ์์ํ๋ฉด์-5
ํด๋์ค, ๋ชจ๋, ํจํค์ง,์์ธ ์ฒ๋ฆฌ, ๋ด์ฅ ํจ์, ์ธ์ฅ ํจ์ ํ์ด์ฌ ๊ธฐ์ด๊ฐ๋ ์ ๋ํ ๋ง์ง๋ง ๊ธ์ด๋ค. ํ ์ฝ๋ฉ ์ ํ๋ฒ๋ถ์ ๊ฐ์ ๋๋ถ์ ๋น ๋ฅธ ์๊ฐ์ ํ์ด์ฌ์ ๋ฐฐ์ธ ์ ์์๋ค. ์ค๋ ๋ฐฐ์๋ณผ ๋ด์ฉ์ ํด๋์ค, ๋ชจ๋, ํจํค์ง, ์์ธ ์ฒ๋ฆฌ, ๋ด์ฅ ํจ์, ์ธ์ฅ ํจ์์ด๋ค. ํด๋์ค(class)๋ฅผ ๋จผ์ ์ดํด๋ณด์. ํ์ด์ฌ์์์ ํด๋์ค๋ ๋ฌด์์ผ๊น? ๋ฐ๋ณต๋๋ ๋ณ์ & ๋ฉ์๋(ํจ์)๋ฅผ ๋ฏธ๋ฆฌ ์ ํด๋์ ํ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. ํ๋ก๊ทธ๋๋ฐ์ ํ๋ค๋ณด๋ฉด ํ๋์ ํจ์์ ์๋ก์ด ๋ณ์๋ฅผ ๊ณ์ํด์ ์ ์ํด์ ๋์ ํ๋ ๊ฒ์ด ๋ฒ๊ฑฐ๋ก์ธ ๊ฒ์ด๋ค. ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ค. ๊ณ์ฐ๊ธฐ๋ฅผ ์์๋ก ํด๋์ค๊ฐ ์๋ ๊ฒฝ์ฐ๋ฅผ ๋จผ์ ์๊ฐํด๋ณด์. ์ฐ๋ฆฌ๋ ๋ง์ ํจ์add์ ๋บ์ ํจ์minusํจ์๋ฅผ ์ ์ํ ๊ฒ์ด๋ค. ๋ง์ ์ ๋จผ์ ํ๊ณ ๋บ์ ์ ํ๋ ๊ฒฝ์ฐ๋ฅผ ์ฝ๋๋ก ์์ฑํด๋ณด๋ฉด..
2020.08.24 -
ํ์ด์ฌ์ ์์ํ๋ฉด์-4
ํ์ด์ฌ ํจ์ ํ์ด์ฌ์ ํจ์์ ๋ํด์ ์์๋ณด์. ํจ์์ ๊ตฌ์กฐ๋ ์ด๋ ๋ค. def ํจ์๋ช (๋งค๊ฐ๋ณ์): return ๋ฆฌํด ๊ฐ ๋งค๊ฐ๋ณ์๋ก ๋ฌด์ธ๊ฐ ๊ฐ์ ์ฃผ๋ฉด ๊ฐ๊ณต์์ผ return๊ฐ์ ์ค๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค. ํ์ง๋ง ๊ผญ ํจ์๋ผ๊ณ return๊ฐ์ด ์์ด์ผ ํ๋ ๊ฒ ์๋๋ค. ๊ฒฐ๊ณผ๊ฐ์ด ์๋ ํจ์๋ ์๋ค. def sum(a,b): print("%d, %d์ ํฉ์ %d์ ๋๋ค." (a,b,(a+b)) sum(1,2) ์์ ๊ฐ์ ํจ์๋ ์ถ๋ ฅ๊ฐ๋ง ์ฃผ๊ณ return ๊ฐ์ ์ฃผ์ง ์๋๋ค. ๊ทธ๋ฆฌ๊ณ , ์ ๋ ฅ๊ฐ๋ ๊ฒฐ๊ณผ๊ฐ๋ ์๋ํจ์๋ ์๋ค. def say(): print('Hi') say() --> ์ถ๋ ฅ๊ฐ๋ง ์๋ ํจ์์ด๋ค. ๊ทธ๋ ๋ค๋ฉด ํจ์์์ ์ฌ๋ฌ๊ฐ์ ์ ๋ ฅ๊ฐ์ ๋ฐ์ ๋์๋ ์ด๋ป๊ฒ ํด์ผํ ๊น? ๋งค๊ฐ๋ณ์๋ก *args๋ฅผ ์ฃผ๋ฉด๋๋ค. def sum_many(*..
2020.08.22 -
ํ์ด์ฌ์ ์์ํ๋ฉด์-3
์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ ์ค๋์ ์ ์ด๋ฌธ์ ๋ํด์ ์์๋ณด์. ์ ์ด๋ฌธ์ ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ ์ด 2๊ฐ์ง๊ฐ ์๋ค. ๋จผ์ ์กฐ๊ฑด๋ฌธ. ์กฐ๊ฑด๋ฌธ์ if๋ฌธ์ผ๋ก ์ฐธ ๊ฑฐ์ง์ ๋ฐ๋ผ ๋๋์ด ๊ฐ์ ๋ค๋ฅด๊ฒ ํ๋ค. ๋ฐ์ ์ฝ๋๋ if ๋ฌธ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ค. money =True if money: print("์ฝ๋ผ๋ฅผ ๊ตฌ์ ํ๋ค") else: print("๊ทธ๋ฅ ๊ฐ๋ค") if ๋ค์๋ Boolean ์๋ฃํ์ด ๋ค์ด๊ฐ๋ค. ์ด๋ ํ ๊ณ์ฐ์์ด๋ true๋ false๋ฅผ ๋ฐํํ๋ฉด ๋๋ค. ํ์ด์ฌ์ if๋ else ๊ทธ๋ฆฌ๊ณ for์๋ ์ค๊ดํธ๊ฐ ์๊ณ , ์ด๋ฅผ Tab(4์นธ์ ๊ณต๋ฐฑ)์ผ๋ก ํ์ํ๋ค. ์ฆ if๋ฌธ ํ์ค๋ก ์ ๋ถ ์์ฑํ๊ฑฐ๋, ๊ทธ ๋ฐ์ค์ 4์นธ์ ๋ค์ฌ์ฐ์ด์ ์์ฑํด์ผ ํ๋ค. ๋ค์ค ์กฐ๊ฑด ํ๋จ์ elif๋ก ํ๋ค. ๋ค์ค ์กฐ๊ฑด ํ๋จ์ด๋ ํ๋์ ์กฐ๊ฑด๋ง์ด ์๋, ์ฌ๋ฌ๊ฐ์ ์กฐ๊ฑด์ ์ํด ์ถ๋ ฅ..
2020.08.20 -
ํ์ด์ฌ์ ์์ํ๋ฉด์-2
ํํ, ๋์ ๋๋ฆฌ, ์งํฉ, ๋ถ๋ฆฐ ์ด๋ฒ ๊ธ์ ํํ, ๋์ ๋๋ฆฌ, ์งํฉ, ๋ถ๋ฆฐ์ ์์๋ณผ ๊ฒ์ด๋ค. ๋จผ์ ํํ ๋ฆฌ์คํธ๋ a = [2,3,4,5] ํ์์ผ๋ก ์ฐ๋ ๋ฐ๋ฉด, ํํ์ a = (2,3,4,5)์ ๊ฐ์ด ์ฌ์ฉํ๋ค. ํํ์ ๋ฆฌ์คํธ์๋ ๋ค๋ฅด๊ฒ ์ง์ ํด๋์ ๊ฐ์ ๋ณ๊ฒฝํ ์๊ฐ ์๋ค. ์ถ๊ฐ ๋ํ ์ ๋๋ค. ํ์ง๋ง slice๋ฐ ์ธ๋ฑ์ค ํ์ธ์ ๊ฐ๋ฅํ๋ค. ๋ค์์ ๋์ ๋๋ฆฌ์ด๋ค. ์ด๋ ์ฌ๋ฌผํจ์ ๋ ์ฌ๋ ค ๋ณด๋ฉด ์ฝ๊ฒ ์ ์ ์๋ค. ์ฌ๋ฌผํจ์ ๋ฒํธ์ ๋ฐ๋ผ ๋ค์ด์๋ ์ฌ๋ฌผ์ด ๋ค๋ฅด์ง ์์๊ฐ? ์ฌ๊ธฐ์์ ๋ฒํธ๋ 'hash' ๋ด์ฉ๋ฌผ์ 'value'๋ก ํํํ๋ค. ๋์ ๋๋ฆฌ์ ํํ๋ฐฉ๋ฒ์ a = {'name' : 'jason', 'age' :15, 3 : 15} print(a['name']) ---> jason์ถ๋ ฅ ๊ณผ ๊ฐ๋ค. ์ด๋ ์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ๋ด๋ API..
2020.08.20 -
ํ์ด์ฌ์ ์์ํ๋ฉด์
ํ์ด์ฌ์ ์์ํ๋ฉด์ 2ํ๋ ์ฌ๋ฆ๋ฐฉํ์ด 10์ผ ๋จ์ ์ง๊ธ, ํ๋ฌ๋์ ํ์ด์ฌ์ ๊ณต๋ถํ๋ ค๊ณ ํ๋ค. ๊ทธ ์ด์ ๋ ์ฝ๋ฉํ ์คํธ๋ฅผ ์ค๋นํ๊ธฐ ์ํจ์ธ๋ฐ, ์ฒ์๋ถํฐ ์ด๋ ค์ด ๋์ด๋์ ์ฝ๋ฉํ ์คํธ๋ฅผ ํธ๋ ๊ฑด ๋น์ฐํ ๋ถ๊ฐ๋ฅํ๊ณ 2ํ๋ ๋์๋ ๊ทธ์ ์ฝ๋ฉํ ์คํธ์ ๊ฐ, ๋์ค๋ ๋ฌธ์ ์ ํ์ ํ์ ์๊ธฐ ์ํจ์ด๋ค. ํด์ผ๋ ๊ฒ๊ณผ ํ๊ณ ์ถ์ ๊ฒ์ด ๋ช ํํ๊ฒ ๋๋ ์ ธ์๋๋ฐ, ์ด๋ ๋ด๊ฐ ํด์ผ๋ ๊ฒ์ด๋ผ๊ณ ํ๋จํ์ฌ ์์ํ๋ค. ์ฑ์ ๋ง๋๋ ๊ฒ์ ๋ด๊ฐ "ํ๊ณ ์ถ์ ๊ฒ"์ด๊ธฐ ๋๋ฌธ์, ํ์ ์๊ฐ์ด ๋จ๊ฑฐ๋ ์๊ฐ์ ๋ด์ ํด๋ณด๋ ค๊ณ ํ๋ค. ํ์ด์ฌ์ด๋? 'ํ์ด์ฌ์ C์ธ์ด์ ๊ตฌ๋ถ์ง์ด ์ค๋ช ํด๋ณด๋ผ'๋ผ๊ณ ๋ด๊ฒ ๋ฌป๋๋ค๋ฉด, ์ปดํ์ผ์ธ์ด๊ฐ ์๋ ์ธํฐํ๋ฆฌํฐ ์ธ์ด๋ผ๋ ๊ฒ์ด๋ค. C์ธ์ด๋ ๊ตฌํ์ด ์ด๋ ค์ด๋์ ์ปดํ์ผ๋ฌ๊ฐ ์ฐ๋ฆฌ์ ์์ค์ธ์ด๋ฅผ ์ปดํจํฐ์ธ์ด๋ก ๋ฐ๊ฟ์ฃผ๊ธฐ ๋๋ฌธ์ ์๋๊ฐ ๋น ๋ฅด๋ค. ํ์ง๋ง ํ์ด์ฌ์ ์ฐ..
2020.08.19