โ ๏ธ python2๋ฅผ ๊ธฐ์ค์ผ๋ก ํฉ๋๋ค!๊ธ๋ก๋ฒ ์๋น์ค๋ฅผ ๋ง๋ค๊ฑฐ๋ ํด์ธ์ ์๋ฒ๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด(๊ทธ๋ ์ง ์๋๋ผ๋) timezone์ ์ค์ ํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.๊ฐ์ฅ ๋ง์ด ์ฐ๋ ๋ ์ง, ์๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ datetime ์์๋ timezone์ ์ค์ ํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ ๊ฐ์ด ์์ด์
์๋์ฐ์ wsl(ubuntu)๋ฅผ ์ค์นํ๊ณ ๊ทธ ์์์ php๋ฅผ ์ฐ๊ธฐ ์ํด์ nginx์์ php-fpm์ ์น์ด์ ์ฐ๊ฒ ๋๋ค. nginx์ php-fpm์ ์ฐ๋ํ๋ ๊ณผ์ ์์ ๊ฒช์ ์ด๋ ค์ ๋ฐ ๋ด์ฉ์ ์ ๋ฆฌํ๋ค.
ํ์ด์ฌ์ผ๋ก ์ฝ๋ฉํ ๋, ์ข ์ข ์์ด, ์กฐํฉ, product๋ฅผ ๊ตฌํํ๊ฑฐ๋ ์ฌ์ฉํด์ผ ํ ๋๊ฐ ์๋ค. ์ด๋ด ๋ ํ๋ค๊ฒ ๊ตฌํํ์ง ๋ง๊ณ ํ์ด์ฌ์์ ๋ง๋ค์ด๋ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ itertools๋ฅผ ์ฌ์ฉํด๋ณด์์กฐํฉ์ ํํํ ๋ ์ฌ์ฉ๋๋ ๋ฉ์๋์ด๋ค. ํ ๋ฆฌ์คํธ์์ ์ค๋ณต์ ํ์ฉํ์ง ์๊ณ ๋ชจ
์ด๋ฒ 4์ ๋ง์ ์๋ธ๋ฆฌํ์ ๊ฒ์ํ ๋ณด๋ฉด์ ์๊ฐ ์ข ๋ณด๋ด๊ณ ์์๋๋ฐ ํ์ด์ฌ์ผ๋ก ์ด๋ฏธ์ง๋ค์ ๋ถ์ด๊ณ ์ด๋ฏธ์ง๋ก ๊ทธ๋ํ๋ฅผ ๋ง๋๋ ์์ ์ ํ ์ฌ๋์ ์ฐพ๋๋ค๋ ๊ธ์ ๋ดค๋ค. ๊ทธ๋์ ๊ทธ๋ฅ ์ธํ์ผ๋ก ๋ค์ด์ค๋ ์ด๋ฏธ์ง ํ ๋, ์ธ ๊ฐ ์ ๋ ์๋์ผ๋ก ๊ฐ๋ก๋ก ์ฐ๊ฒฐํ๋ ๊ฐ๋จํ ํ๋ก๊ทธ๋จ์ด๊ฒ ๊ฑฐ๋ ํ
์กฐ๊ฑด : ๊ทธ๋ํ G๋ connected graph์ด๋ค.์ ์ : ๊ทธ๋ํ G์ spanning tree๋ ๋ค์ ์ฑ์ง์ ๋ง์กฑํ๋ G์ ๋ถ๋ถ ๊ทธ๋ํ์ด๋ค.G์ ๋ชจ๋ ์ ์ ๋ค์ด ํฌํจ๋์ด์ผ ํ๋ค.connected ๊ทธ๋ํ์ด์ด์ผ ํ๋ค.์ฌ์ดํด์ ํฌํจํ์ง ์์์ผ ํ๋ค.์ ์ฅํธ๋ฆฌ๋ ๋ค์ ๋ ๊ฐ
ํ์ด์ฌ์์๋ ๊ธฐ๋ณธ ๊ธฐ๋ฅ๋ค ์ด์ธ์๋ ํ๋ก๊ทธ๋๋ฐํ๋๋ฐ ํ์ํ ํด๋์ค,ย ๋ฉ์๋,ย ์์๋ค์ ๋ชจ๋๋ก ์ง์ํ๋๋ฐ ์ด๋ฅผย โํ์ค๋ผ์ด๋ธ๋ฌ๋ฆฌ(Standard Library)โ๋ผ๊ณ ํ๋ค.ย ํ์ด์ฌ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์์ฒญ๋๊ฒ ์์ด ๋ง์ผ๋ ์์ธํ ์ ๋ณด๋ย https://docs.pyth
๋ฐ์ดํฐ ๊ตฌ์กฐ๋ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๋ํ๋ด๊ธฐ ์ํ ํน์ ๋ฐ์ดํฐ ํ์ ์ ๋งํ๋ค.ย list(), tuple(), dict(), set()ย ๋ฑ ๋ง์์ฌ๋ฌ ๋ฐ์ดํฐ๋ฅผ ์์๋๋ก ๋์ดํ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ด๋ค.๋ฆฌ์คํธ๋ ๋ณํ ๊ฐ๋ฅํ(muttable)ย ๋ฐ์ดํฐ ๊ตฌ์กฐ์๋ค๋ฅธ ์ธ์ด์ ๋ฐฐ์ด๊ณผ ๋น์ทํ์ง๋ง
๋ชจ๋์ ๊ฐ์ ํน์ฑ์ ๊ฐ๋ ํด๋์ค์ ๋ฉ์๋(ํจ์)์ ์์๋ฅผ ๋ชจ์๋์ ํ๋์ ํ์ผ์ ๋งํ๋ค.module_name.pyย ํํ์ ํ์ผ๋ก ์ ์ฅํ๋ฉฐ,ย ๋ค๋ฅธ ํ์ผ์์๋ ์๋์ ๊ฐ์ด ํธ์ถํ์ฌ ์ธ ์ ์๋ค.๋ค์์ ๋ฉ์ธ ์ฝ๋์ด๋ค. ๋ค์๊ณผ ๊ฐ์ด ๋ชจ๋์ ์ฌ์ฉํ ์ ์๋ค.main์ ์คํํ๋ฉด
์ค๋ณต๋ ๋ถ๋ถ๋ค์ ์๋ํํ๊ธฐ ์ํด ๋ง๋ ๊ธฐ๋ฅ์ผ๋ก ์ ๋ ฅ๊ฐ๊ณผ ์ถ๋ ฅ๊ฐ์ ๊ฐ๋ ๋์์ ๋ธ๋ก์ ๋งํ๋ค.ํ์ด์ฌ์ ๋์ ํ์ดํ ์ธ์ด์ด๋ฏ๋ก ํจ์์ ๋ฆฌํด ํ์ ์ ๋ฐ๋ก ์ง์ ํ์ง ์๊ณ ย defย ํค์๋๋ฅผ ์ฌ์ฉํ๋ค. voidํ์ ํจ์๋ย returnย ํค์๋๋ฅผ ์ฐ์ง ์์ผ๋ฉด ์์์ ์๋ฌด๊ฒ๋ ๋ฆฌํด ์
ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ ๋๊น์ง ๋ณ์๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ค์ฌ๊ฐ๋ฉฐ ์งํํ๋ ๋ฐ๋ณต๋ฌธpython์ ๋ค๋ฅธ ์ธ์ด์ ๋ค๋ฅด๊ฒย in๊ณผย range()๋ฅผ ์จ์ ์กฐ๊ฑด์ ์ง์ ํ๋ค.๋ณ์ i๊ฐย ์ ์ end๋ณด๋ค ์์ ๋์ ๋ฐ๋ณต ๋ด์ฉ์ ์คํํ๊ณ ,๋ณ์ i๋ย 0๋ถํฐ ์์ํ๋ฉฐ,ํ ๋ธ๋ก์ด ๋๋ ๋ ๋ง๋คย ๋ณ์ i๋ฅผย 1
ํ์ด์ฌ์์ ์ค์ฒฉ ์ฝ๋ ๋ธ๋ก์ ๋ค๋ฅธ ์ธ์ด๋ค๊ณผ๋ ๋ค๋ฅด๊ฒ ๋ค์ฌ์ฐ๊ธฐ(indentation)์ผ๋ก ๊ตฌ๋ถํ๋ค.ย ํ ๋ค์ฌ์ฐ๊ธฐ ๋น ํ๋์ ๋ ๋ฒจ์ ๋ธ๋ก์ผ๋ก ๊ตฌ๋ถํ๋ค.if๋ฌธ์ด๋ย if๋ฌธ์ ์ค๋ ์กฐ๊ฑด์์ ๊ฒฐ๊ณผ๊ฐย True์ด๋ฉดย if๋ฌธ ์์ ์๋ ๋ด์ฉ์ ์คํํ๊ณ ย elif๋ย else๋ ๋ฌด์ํ๊ณ ๋ค์
ํ๋ ์ด์์ ํผ์ฐ์ฐ์๋ฅผ ์ ๋ ฅ ๋ฐ์ ํน์ ์ฐ์ฐ์ ํ๋ ๊ฒ์ฐ์ ์ฐ์ฐ์ (a=30, b=7์ ๊ฐ์ )๋น๊ต ์ฐ์ฐ์ํ ๋น ์ฐ์ฐ์ (a = 7, b = 3๋ผ๊ณ ๊ฐ์ )๋นํธ ์ฐ์ฐ์ (a = 5 (00101), b = 3(00011)์ด๋ผ๊ณ ๊ฐ์ )๋ ผ๋ฆฌ ์ฐ์ฐ์๋ฉค๋ฒ ์ฐ์ฐ์ (a = 1,2,3,
ํ์ด์ฌ์์ ์ด๋ฏธ ์์ฝ๋์ด ์๋ ๋ฌธ์์ด๋ก์ ๋ค๋ฅธ ์ฉ๋๋ก ์ฌ์ฉ์ด ๋ถ๊ฐ๋ฅํ ๋ฌธ์์ด์ด๋ค.ํค์๋๋ ์์ฝ์ด๋ฅผ ํฌํจํ๋ค.False, None, True, and, as, assert, break, class, continue, def, del, elif, else, except,
์ ๋ชจ๋ฅผ ๋ ์ฐธ๊ณ ํ๊ณ ย ๋ณต์ตํ ๊ฒธ ํ์ด์ฌ ์ค์น์ ํ๊ฒฝ ์ค์ ๋ถํฐ ํ์ด์ฌ ์ธ์ด ๊ธฐ๋ณธ ๋ฌธ๋ฒ ๋ถ๋ถ์ ๋ค๋ฃจ๋ ํฌ์คํ ์ ์์ฑํด๋ณด๋ ค๊ณ ํ๋ค. ์ด๋ฒ ํฌ์คํ ์ ์ฒซ ํฌ์คํ ์ด๋๊น ๊ฐ๋ณ๊ฒ ํ์ด์ฌ 3.7.4 ์ค์น์ JetBrains์ฌ์ ํ์ด์ฌ IDE์ธ PyCharm ์ค์น์ ํ๊ฒฝ ์ค์ ์ ํ๋
๋ค์ด๋ฒ ์บ ํผ์ค ํต๋ฐ์ด๋ ๋ค์ด๋ฒ์์ ์งํํ๋ ๋ํ(์)์ ๋์ ํด์ปคํค์ด๋ค. ๋ค์ด๋ฒ์์ ์ ์ ํ ์ฌ๋ฌ ์ฃผ์ ๋ค ์ค ํ๋๋ฅผ 1๋ฐ 2์ผ๊ฐ ์ถ์ฒ ๋ค์ด๋ฒ CONNECT ONE์์ ๊ฐ๋ฐํ๋ค. ๋ฌผ๋ก ๋ชจ๋ ์ฌ๋๋ค์ด ์ฐธ๊ฐ ๊ฐ๋ฅํ ๊ฒ์ ์๋๋ค. ์๊ธฐ์๊ฐ์์ ์ฝ๋ฉํ ์คํธ๋ฅผ ํตํด ์ ๋ฐ๋ ์ธ์๋ค๋ง
๊ฐ ๋ ธ๋๊ฐ ์ต๋ ๋ ๊ฐ์ ์์์ ๊ฐ๋ ํธ๋ฆฌ๋ชจ๋ ํธ๋ฆฌ๊ฐ ์ด์งํธ๋ฆฌ๋ ์๋๋ค.์ด์ง ํธ๋ฆฌ ์ํ์ค์ ์ํ(in-order traversal)์ ์ ์ํ(pre-order traversal)ํ์ ์ํ (post-order traversal)์ด์ง ํ์ ํธ๋ฆฌ (Binary Search
ํธ๋ฆฌ๋ ๋ ธ๋๋ก ์ด๋ฃจ์ด์ง ๊ณ์ธต ๊ตฌ์กฐ์ ์๋ฃ ๊ตฌ์กฐ์ด๋ค.ํ๋์ ๋ฃจํธ ๋ ธ๋๋ฅผ ๊ฐ์ง๋ค.๋ฃจํธ ๋ ธ๋๋ 0๊ฐ ์ด์์ ์์ ๋ ธ๋๋ฅผ ๊ฐ๋๋ค.์์ ๋ ธ๋๋ค ๋ํ 0๊ฐ ์ด์์ ์์ ๋ ธ๋๋ฅผ ๊ฐ๊ณ , ๋ฐ๋ณต์ ์ผ๋ก ์ ์๋๋ค.ํธ๋ฆฌ๋ ๋ ธ๋(node)๋ค๊ณผ ์ฐ๊ฒฐํ๋ ๊ฐ์ (edge)๋ค๋ก ๊ตฌ์ฑ๋๋ค.ํธ๋ฆฌ์๋ ์ฌ์ด
์๋ฃ ๊ตฌ์กฐ ์ค์์ ๋ฐ์ดํฐ์ ๋งํฌ๋ก ๊ตฌ์ฑ๋ ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Linked List)๋ผ๋ ๊ฒ์ด ์๋ค. ์ด ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ฅผ ์ด๋ป๊ฒ ํ์ฉํ์ฌ ๋ง๋๋๋์ ๋ฐ๋ผ์ ์ฌ๋ฌ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค ์ ์๋ค. ์ด๋ฒ์ ๊ทธ ์ค์์ Queue์ ๋ํด์ ์๊ธฐํ๊ฒ ๋ค.๋ฆฌ์คํธํ ๋ฐ์ดํฐ ๊ตฌ์กฐ ์ค์์ ํ ์ชฝ์์๋ง ๋ฐ
์๋ฃ ๊ตฌ์กฐ ์ค์์ ๋ฐ์ดํฐ์ ๋งํฌ๋ก ๊ตฌ์ฑ๋ ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Linked List)๋ผ๋ ๊ฒ์ด ์๋ค. ์ด ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ฅผ ์ด๋ป๊ฒ ํ์ฉํ์ฌ ๋ง๋๋๋์ ๋ฐ๋ผ์ ์ฌ๋ฌ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค ์ ์๋ค. ์ด๋ฒ์ ๊ทธ ์ค์์ Stack์ ๋ํด์ ์๊ธฐํ๊ฒ ๋ค.๋ฆฌ์คํธํ ๋ฐ์ดํฐ ๊ตฌ์กฐ ์ค์์ ํ ์ชฝ์์๋ง ๋ฐ
์ฐ์์ ์ธ ๋ฐ์ดํฐ๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ์๋ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ ์ ์๋ค. ๋ฐฐ์ด์ด ์์ ์๋ ์๊ณ , ์ด๋ ์ด ๋ฆฌ์คํธ, ๋ฒกํฐ, ๋งํฌ๋ ๋ฆฌ์คํธ ๋ฑ์ด ์๋ค. ์ด๋ฒ์ ๋งํฌ๋ ๋ฆฌ์คํธ(์ฐ๊ฒฐ ๋ฆฌ์คํธ)์ ๋ํด ์์๋ณด๊ฒ ๋ค.์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ ๋ฐฐ์ด๊ณผ ๊ฐ์ด ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฅผ ์ฐ์์ ์ผ๋ก ๋ํ๋ด๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ