์๋ฐ์ ์๋์๋ฆฌ๋ฅผ ๊ณต๋ถํ๋ ์ค ๋ฐ์ดํธ ํ์ผ๊ณผ ๋ฐ์ด๋๋ฆฌ ํ์ผ์ ๊ฐ๋ ์ ์์งํด์ผ๋์ ๊ด๋ จ ๊ธ์ ์ฐ๊ฒ ๋์์ต๋๋ค. Complie๊ณผ Link C์ธ์ด๋ ์ปดํ์ผ๋ฌ์ ์ํด ์์คํ์ผ(*.c)์ด ๋ชฉ์ ํ์ผ(*.obj)๋ก ๋ณํ๋ ๋ ๋ฐ์ด๋๋ฆฌ ํ์ผ , ์ฆ 0๊ณผ 1๋ก ์ด๋ฃจ์ด์ง ์ฝ๋๋ก ๋ณํ๋ฉ๋๋ค. ๋ชฉ์ ํ์ผ์ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ ๋ฐ์ด๋๋ฆฌ ์ฝ๋์ ํํ์ด์ง๋ง ์คํ๋ ์๋ ์์ต๋๋ค. ๊ทธ ์ด์ ๋ ์์ ํ ๊ธฐ๊ณ์ด๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ๋๋ค. *์์คํ์ผ : ๊ฐ๋ฐ์๊ฐ ์์ฑํ๋ ๊ณ ๋ ๋ฒจ์ธ์ด์ธ ์์ค์ฝ๋๋ก ๊ตฌ์ฑ๋ ํ์ผ ex. *.java, *.py *๋ชฉ์ ํ์ผ : ์์คํ์ผ์ ์ปดํ์ผํด์ ์๊ธด ํ์ผ ex. ๋ฐ์ดํธ์ฝ๋, ๋ฐ์ด๋๋ฆฌ ์ฝ๋ ์ปดํ์ผ๋ฌ ์ ์ํด ๋ณํ๋ ๋ชฉ์ ํ์ผ์ ๋ง์ปค ์ ์ํด ์คํ๊ฐ๋ฅํ ์คํํ์ผ(*.exe)๋ก ๋ณํ๋ ๋ ํจ์๋ ํค๋ ํ์ผ ๋ฑ์ ์ค์ ๋ฉ๋ชจ..
์๋ฐ์คํฌ๋ฆฝํธ ๋ฟ๋ง ์๋๋ผ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๋ฐฐ์ฐ๋ฉด์ ์ฒ์์๋ ๊ทธ์ ์ฝ๋ ์ง๊ธฐ์๋ง ๊ธ๊ธํ์ต๋๋ค. ๊ทธ ์ธ์ด์ ์๋์๋ฆฌ ๊ฐ์ ๊ฑด ๋ด๋ ๋๋ฌด์ง ์ดํด๊ฐ ์๊ฐ๊ธฐ์ ๊ด์ฌ์ด ์์์ต๋๋ค. ์๊ฐ์ด ์ ์ฐจ ํ๋ฌ ์ฐ์ฐํ ์๋ฐ์คํฌ๋ฆฝํธ์ ์๋์๋ฆฌ ๊ด๋ จ ๊ธ์ ๋ค์ ๋ณด๊ฒ๋์๋๋ฐ ๊ธ์ด ์ด๋ ต์ง ์๊ณ ์ดํด๊ฐ ๋๊ธฐ ์์ํ์ต๋๋ค. "๊ทธ๋ ์์ฑํ๋ ์ฝ๋๊ฐ ์ด๋์ ์ด๋ฐ์์ผ๋ก ์๋ํ๊ตฌ๋" ๋ฅผ ๊นจ๋ฌ์ผ๋ฉด์ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ํด ๋ ์์ธํ ์๊ฒ ๋๊ณ ๋๋ ํ์ธต ๋ ์ฝ๋ฉ์ด ์ฌ๋ฏธ์์ด์ก์ต๋๋ค. ๊ทธ๋์ ์ด๋ฒ์๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ์๋์๋ฆฌ์ ์์ด ํต์ฌ ์๋ฆฌ์ธ JavasScript Engine(V8), Web API, Callback Queue, ์ด๋ฒคํธ ๋ฃจํ ๊ทธ ์ค ํนํ ์ด๋ฒคํธ ๋ฃจํ ์ ๋ํด ์์ธํ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค. ํ๋ฆฐ ๋ถ๋ถ์ด๋ ์ง๋ฌธ ์ฌํญ์ด ์์ผ์๋ฉด ์ธ์ ๋ ์ง ๋๊ธ๋ก..
๋๊ตฐ๊ฐ ์ ์๊ฒ ํ๋ก์ธ์ค์ ์ค๋ ๋์ ์ฐจ์ด์ ์ ๋ํด ๋ฌผ์๋ ์ ์ด ์์๋๋ฐ, ๋ช ํํ๊ฒ ๋๋ต์ ๋ชปํ๊ฒ ๋๋ฌด ์์ฌ์์ ์ด ์ฐธ์ ํ์คํ ๊ณต๋ถํ๊ณ ๋์ด๊ฐ๋ ค ์ด ๊ธ์ ์ฐ๊ฒ ๋์์ต๋๋ค. ๊ฐ๋ ๋ค์ด ํ๊ณ ํ๊ณ ๋ค๋ฉด ๋ฐ๋ ๋๋ ์๋ ๊ฒ ๊ฐ์์ ์ด ๊ธ์ ์ดํดํ๋๋ฐ ์์ด ๊ตณ์ด ๋ถํ์ํ ๊ฐ๋ ๋ค์ ๋ํด์ ์ธ๊ธํ์ง ์๊ฒ ์ต๋๋ค. ํ๋ก์ธ์ค์ ์ค๋ ๋๋ ๋ฌด์์ผ๊น? #ํ๋ก์ธ์ค(Process)๋? ํ๋ก์ธ์ค๊ฐ ๋ฌด์์ธ์ง ํ์ ํ๊ธฐ ์ ์ ํ๋ก๊ทธ๋จ์ด๋ ๋ฌด์์ธ์ง ํ์ ํ ํ์๊ฐ ์์ต๋๋ค. ํ๋ก๊ทธ๋จ์ด๋ ๋จ์ด๋ ์ปดํจํฐ์ ๊ณต์๊ฐ ์๋์ฌ๋ ๋๋ถ๋ถ์ ์ฌ๋๋ค์ด ๋ง์ด ๋ค์ด๋ดค์ ๊ฒ์ด๊ณ ์ค์ ๋ก ์ฌ์ฉ๋ ํ๋ ๋จ์ด์ผ ๊ฒ์ ๋๋ค. ํ๋ก๊ทธ๋จ ์ ์ด๋ค ์์ ์ ์คํํ ์ ์๋ ํ์ผ์ ์๋ฏธํฉ๋๋ค. ๋ฐํํ๋ฉด์ LoL.exe , Visual Studio.exe ๊ฐ์ ํ์ผ๋ค์ด ์๋๋ฐ ์ด๊ฒ๋ค์ด ํ..
๋ฆฌ์คํธ ๋ณต์ฌํ๊ธฐ ๋ณ์๋ ๊ฐ์ฒด๋ฅผ ๋ด๋ ๊ทธ๋ฆ์ด ์๋๋ผ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋ ์ด๋ฆ์ ๋๋ค. ๋ฐ๋ผ์ ๋ณ์๋ฅผ ๋ค๋ฅธ ๋ณ์์ ๋์ ํ๋ฉด ๋ ๋ณ์๋ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๊ฒ ๋ฉ๋๋ค. ๋ค์ ๋งํด, ํ๋์ ๊ฐ์ฒด๋ฅผ ๋ ๊ฐ์ ์ด๋ฆ์ด ๊ฐ๋ฆฌํค๋ ๊ฒ์ด์ง ๊ฐ์ฒด ์์ฒด๊ฐ ๋ ๊ฐ๊ฐ ๋ ๊ฒ์ ์๋๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ถ๋ณํ ๊ฐ์ฒดimmutable object์์๋ ํ ๋ณ์์ ์ ๋ฐ์ดํฐ๋ฅผ ๋์ ํด๋ ๋ค๋ฅธ ๋ณ์์ ์ํฅ์ ๋ฏธ์น์ง ์์ง๋ง, ๋ฆฌ์คํธ ๊ฐ์ ๋ณํ ๊ฐ์ฒดmutable object์์๋ ๊ทธ๋ ์ง ์์ต๋๋ค. ์ด๋ ์ฅ์ ์ด ๋๊ธฐ๋ ํ๊ณ , ๋จ์ ์ด ๋๊ธฐ๋ ํฉ๋๋ค. ์ฐ์ ์ฌ๊ธฐ๊น์ง ์ฝ๋๋ก ํ์ธํด ๋ณด๊ฒ ์ต๋๋ค. >>> mu_a = [2020, 'year'] >>> mu_b = mu_a >>> mu_b.append(['hi', 'hello']) >>> mu_a [2020, '..
UUID๋ Universally Unique IDentifier์ ์ฝ์๋ก, ์ ์ธ๊ณ์ ํ๋๋ฐ์ ์๋ ID๋ผ๋ ๋ป์ ๋๋ค. ์ด๋ฐ ID๋ ๊ณ ์ ํ๊ธฐ ๋๋ฌธ์ ์๋ฒ์์ ์ฌ์ฉ์๋ค์ UUID๋ฅผ ๋ถ์ฌ์ ๊ตฌ๋ถํ๋ ๋ฑ ์ฌ๋ฌ ๋ฐฉ๋ฉด์์ ์ ์ฉํ๊ฒ ์ฐ์ผ ์ ์์ต๋๋ค. UUID๊ฐ ๊ฒน์น๋ฉด ์ด์ฉ์ง? ์ด ๊ธ์ koreanhole ๋์ ๊ธ์ ๋๋ค. Intro ์ต๊ทผ UOS๊ณต์ง์ฌํญ ์ฑ์ ๋ฐฑ์๋ ์์คํ ์ ๊ต์ฒดํ๋ ์์ ์ ํ๊ณ ์์ต๋๋ค. ๊ธฐ์กด Firebase์ Firestore๋ฅผ ์ฌ์ฉํ๊ณ ์์๋๋ฐ ์ด๋ฒ์ ์๋กญ๊ฒ Nestjs๋ก ์๋ฒ๋ฅผ ์์ฑํ๋ kingofbackend.tistory.com ์ค์น $ npm install uuid uuid ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ install ํฉ๋๋ค. ์ข ๋ฅ UUID๋ ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ์์ผ๋ก ์์ฑ ๊ฐ๋ฅํฉ๋๋ค. v1: ํ์์คํฌํ(์๊ฐ) ๊ธฐ..
Node.js๋ฅผ ๊ฐ๋ฐํ ๋ผ์ด์ธ ๋ฌ(Ryan Dahl) ์ ์ง๋ 2018๋ 6์ Javascript ์ต๋ ์ฝํผ๋ฐ์ค์ธ JSConf 2018์์ 10 Things I Regret About Node.js ์ ๋ฐํํ์์ต๋๋ค. ๊ทธ ํ Node.js๋ฅผ ๊ฐ๋ฐํ๋ฉด์ ์๊ฒผ๋ ํํ๋ฅผ ๋ฐํ์ผ๋ก ์๋ก์ด ์๋ฒ ์ฌ์ด๋ ๋ฐํ์์ธ Deno.js๋ฅผ ๋ฐํํ์์ต๋๋ค. (Node์์ de๋ฅผ no ์์ ์ด๊ฑด๋ฐ ์ด๊ฑฐ ๋์น์ฑ๊ณ ์๋ฆ์ด.. ) ๋ผ์ด์ธ ๋ฌ์ Node.js ๋ง๋ค๋ฉด์ ์ด๋ฒคํธ ๊ธฐ๋ฐ HTTP ์๋ฒ(Event driven HTTP server)์ ์๋นํ ๋ง์ ์ฌํ์ ๊ธฐ์ธ์์ต๋๋ค. ์ค์ ๋ก Node.js๋ฅผ ๋ง๋ค๋ ๊ฐ์ฅ ์ค์ํ๊ฒ ์๊ฐํ๋ ๊ฒ์ด ์ด๋ฒคํธ ๊ธฐ๋ฐ HTTP ์๋ฒ๋ผ๊ณ ํฉ๋๋ค. ์ด์ ๋ํด์๋ ์ฌ์ ํ Node๋ ์ข์ ์๋ฒ ์ฌ์ด๋ ๋ฐํ์์ด๋ผ๊ณ ๋ง..
์ฐ๋ฆฌ๋ ๋ญ์น์๊ฒ ๊ธฐ๋ค๋ ค! ๋จน์ด! ํ๋ จ์ ๊ต์ก์ํค๊ณ ์ถ์ต๋๋ค. ๋ญ์น์ ๋ค๋ฆฌ์ ๊ฐ์์ ์ฌ๋ ค๋๊ณ ๋จน์ด!๋ผ๊ณ ํ์ ๊ฒฝ์ฐ ๋ญ์น๊ฐ ๊ฐ์์ ๋จน์์ผ๋ฉด ํ๋๋ฐ ๋ญ์น๋ ์ฃผ์ธ์ ๋ช ๋ น์ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ (๋น๋๊ธฐ ๋ฐฉ์ ๋ฌธ์ ) ์ ๋ฉ๋๋ก ๊ฐ์์ ๋จน์ด๋ฒ๋ ธ์ต๋๋ค...๋ญ์น์๊ฒ ํ๋ จ(์ผ๋ฐ ์ฝ๋ฐฑํจ์)์ ์์ผ๋ณด์์ง๋ง ์ฌ์ ํ ๋ญ์น๋ ๋ง์ ๋ฃ์ง ์์ต๋๋ค. ๋ญ์น๋ ๋ง๋ชปํ๋ ๊ฐ์์ง๋ผ ํผ๋ผ ์๋ ์๊ณ ์ฐ๋ฆฌ๋ ๋์ฒํ ์ํฉ์ ๋น ์ ธ๋ฒ๋ ธ์ต๋๋คใ ใ ๊ทธ๋์ ์ฐ๋ฆฌ๋ ๋ ์ฌ์ด ํ๋ จ๋ฐฉ๋ฒ(async/await)์ผ๋ก ๋ญ์น๋ฅผ ๊ต์ก์ํค๊ณ ์ ํฉ๋๋ค!! # ๋น๋๊ธฐ์ ๋๊ธฐ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ ๋ ๊ฐ์ฅ ์ ๊ฒฝ์จ์ผ ํ๋ ๋ถ๋ถ ์ค ํ๋๊ฐ ๋๊ธฐ์ ๋น๋๊ธฐ ์ฒ๋ฆฌ์ ๋๋ค. ๋ถ๋ช ๋ก์ง์ ๋ง๊ฒ ์ง ๊ฑฐ ๊ฐ์๋ฐ ๊ฒฐ๊ณผ๊ฐ์ด undefined ์ด๊ฑฐ๋ ์์ ์๋ ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์ญ์คํ๊ตฌ ๋น๋๊ธฐ ๋ฌธ์ ๋ฅผ ์์ฌํด..
์ฐ๋ฆฌ๋ ๋ฐ์ดํฐ ์์ ์ด๊ณ ์๋คํด๋ ๊ณผ์ธ์ด ์๋๋งํผ ๊ณผ๊ฑฐ์ ๋นํด ๋ค์ํ ๋ฐ์ดํฐ๋ค์ด ๊ธฐํ๊ธ์์ ์ผ๋ก ๋์ด๋ฌ์ผ๋ฉฐ, ๋ฐ์ดํฐ ํ๋ํ๋๊ฐ ๊ธฐ์ ์ด๋ ๊ฐ์ธ์ ๋ชจ๋ ์์คํ ์์ฐ ์ ๋๋ค. ์ฐ๋ฆฌ๋ ๋ฐ์ดํฐ ์์ธ ์ด ์ ์๊ณ , ์์ผ๋ก๋ ๊ทธ๋ด ๊ฒ์ ๋๋ค. ๋ฐ์ดํฐ๊ฐ ๋ฐฉ๋ํด์ง๋ฉด์ ์๋ฌด๋ฆฌ ์ข์ ์๋ฒ๋ผ๊ณ ํด๋ ์ด๋ฅผ ์์ฉํ๋๋ฐ ์์ด ๋ฌด๋ฆฌ๊ฐ ์์ต๋๋ค. ๊ทธ์ ๋ฐ๋ผ ๊ท๋ชจ๊ฐ ํฐ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ํ์ฌ์ ๊ฒฝ์ฐ ์ฌ๋ฌ ๋์ ์๋ฒ๋ฅผ ๋๊ณ ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ฌ ์๋ง์ ํธ๋ํฝ์ ํจ๊ณผ์ ์ผ๋ก ๋ถ์ฐํฉ๋๋ค. ์ ๋ง์ ํธ๋ํฝ์ ์ฌ๋ฌ ๋์ ์๋ฒ๋ก ๋ถ์ฐํด์ค ์ ์๋ ๊ธฐ์ ์ด ์๋ค๋ฉด ํธ๋ํฝ์ ๊ฒฐ๊ตญ ํ๋์ ์๋ฒ๋ก ์ง์ค ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ ๊ฒ ๋๋ค๋ฉด ์๋น์ค ์๋๊ฐ ์์ฒญ๋๊ฒ ๋๋ ค์ง ๊ฒ์ด๊ณ ์ต์ ์ ๊ฒฝ์ฐ ์๋ฒ๊ฐ ๋ง๋น๋์ด ์๋น์ค ์์ฒด๋ฅผ ์ ๊ณตํ ์ ์๊ฒ ๋ ๊ฒ์ ๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ์ ๋..
์ด๋ฒ ๊ธ์์๋ ์๊ฒฉ์ผ๋ก ์๋ฒ์ ์ ์ํ๊ฒ ํด์ฃผ๋ OpenSSH ์๋ฒ์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. OpenSSH ์๋ฒ๋ ํ ๋ท ์๋ฒ์ ๊ธฐ๋ฅ์ด ๋์ผํ๋ค๊ณ ๋ณผ ์ ์์ผ๋ ๋ณด์์ ์์ ํ์ง ๋ชปํ๋ ํ ๋ท์ ๋นํด OpenSSH๋ ํจ์ฌ ์์ ํ๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค. OpenSSH๋ ๋ฐ์ดํฐ ์ ์ก ์ ์ํธํ ํ๋ค๋ ์ฐจ์ด์ ์ด ์์ต๋๋ค. # OpenSSH ์๋ฒ๋ฅผ ๊ตฌ์ถํด๋ณด์ ์ ๋ VMware workstation ํ๊ฒฝ์์ ์๋ฒ๋ฅผ ๊ตฌ์ถํ ๊ฒ์ ๋๋ค. ๋ค์ด๊ฐ๊ธฐ ์์ SSH ์๋ฒ์ ํจํค์ง ์ด๋ฆ์ "openssh-server" ์ด๊ณ ์๋น์ค(๋ฐ๋ชฌ) ์ด๋ฆ์ "sshd"์ ๋๋ค. rpm -qa openssh-server ๋ช ๋ น์ด๋ก ํ์ฌ ์ค์น๋์ด ์๋ openssh-server๋ฅผ ํ์ธํด์ค๋๋ค.(CentOS๋ ๊ธฐ๋ณธ์ ์ผ๋ก openssh๋ฅผ ์ ๊ณตํด์ค๋ค๊ณ ํฉ..
!/bin/sh hap=0 for i in 1 2 3 4 5 6 7 8 9 10 do hap=`expr $hap + $i` done echo "1๋ถํฐ 10๊น์ง์ ํฉ:"$hap hap2=0 for((i=0;i
์ฌ์ฉ์ ์ ์ํจ์ #!/bin/sh myFunction(){ echo "ํจ์ ์์ผ๋ก ๋ค์ด์์" return } echo "ํ๋ก๊ทธ๋จ์ ์์ํฉ๋๋ค." myFunction echo "ํ๋ก๊ทธ๋จ์ ์ข ๋ฃํฉ๋๋ค." exit 0 ํจ์์ ํ๋ผ๋ฏธํฐ ์ฌ์ฉ #!/bin/sh sumFunction(){ echo "$1 $2 ๊ฐ์ ํฉ์ `expr $1 + $2` ์ ๋๋ค" } echo "ํ๋ผ๋ฏธํฐ๋ $1 ์ $2 ์ ๋๋ค" sumFunction $1 $2 #!/bin/sh myFunction(){ result=`expr $1 + $2` return "$result" } temp=$(myFunction 1 2) echo $? export ์ธ๋ถ ๋ณ์๋ก ์ ์ธํฉ๋๋ค. ์ฆ, ์ ์ธํ ๋ณ์๋ฅผ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์์๋ ์ฌ์ฉํ ์ ์๊ฒ ํฉ๋๋ค. #!/bin..
#if ๋ฌธ if [ ์กฐ๊ฑด ] then ์ฐธ์ผ ๊ฒฝ์ฐ ์คํ fi *์ฃผ์ํ ์ : '[ ์กฐ๊ฑด ]' ์ฌ์ด์ ๊ฐ ๋จ์ด์๋ ๋ชจ๋ ๊ณต๋ฐฑ์ด ์์ด์ผ ํจ if [ ์กฐ๊ฑด ] ๋์ฐ if test ๋ ๊ฐ๋ฅ #!/bin/sh if [ "woo" = "woo" ] then echo "์ฐธ์ ๋๋ค" fi if test "woo1" = "woo1" then echo "์ฐธ2์ ๋๋ค" fi exit 0 ์กฐ๊ฑด๋ฌธ์ ๋ค์ด๊ฐ๋ ๋น๊ต ์ฐ์ฐ์ ๋ฌธ์์ด ๋น๊ต ๊ฒฐ๊ณผ "๋ฌธ์์ด1" = "๋ฌธ์์ด2" ๋ ๋ฌธ์์ด์ด ๊ฐ์ผ๋ฉด ์ฐธ "๋ฌธ์์ด1" != "๋ฌธ์์ด2" ๋ ๋ฌธ์์ด์ด ๊ฐ์ง ์์ผ๋ฉด ์ฐธ -n "๋ฌธ์์ด" ๋ฌธ์์ด์ด NULL์ด ์๋๋ฉด ์ฐธ -z "๋ฌธ์์ด" ๋ฌธ์์ด์ด NULL์ด๋ฉด ์ฐธ ์ฐ์ ๋น๊ต ๊ฒฐ๊ณผ ์์1 -eq ์์2 ๋ ์์์ด ๊ฐ์ผ๋ฉด ์ฐธ ์์1 -ne ์์2 ๋ ์์์ด ๊ฐ์ง ์์ผ๋ฉด..
๋ฆฌ๋ ์ค์ ๋ํ ๋งค์ฐ ์ด๋ณด์ ์ธ ๊ธ์ด๋ฏ๋ก(์ ๊ฐ ๋ฆฌ๋ ์ค ์ด๋ณด์ด๊ธฐ์ ใ ใ ) ์๋ฌ๋ ๊ฐ๋ฐ์๋ถ๋ค์๊ฒ ๋งค์ฐ ์ฌ์ด ๊ธ์ผ ์๋ ์์ต๋๋ค. ํ๋ฆฐ ๋ถ๋ถ์ด ์์ผ๋ฉด ์ธ์ ๋ ์ง ์ง์ ํด์ฃผ์ธ์ :) '๋ฆฌ๋ ์ค ์ปค๋'๊ณผ '์ปค๋'์ ํผ์ฉํด์ ์ฌ์ฉํ์์ง๋ง ๋์ด ๊ฐ๋ค๊ณ ๋ณด์ ๋ ๋ฌด๋ฐฉํฉ๋๋ค. ๋ง์ ์ฌ๋๋ค์ด ์ด์์ฒด์ ์ ์ปค๋์ ํฐ ์๋ฏธ ์ฐจ์ด๋ฅผ ๋์ง ์๊ณ ์ฌ์ฉํฉ๋๋ค. ์ ๋ํ ์ปค๋์ ๊ทธ๋ฅ ์ด์์ฒด์ ๋ผ ์๊ฐํ๊ณ ๋์ ํผ์ฉํด์ ์ฌ์ฉํ์ต๋๋ค. ํ์ง๋ง ์๋ฏธ๊ฐ ๊ฐ๋ค๋ฉด ๊ตณ์ด ์ด๋ฆ์ ๋ค๋ฅด๊ฒ ํด์ ๋ถ๋ฅผ ํ์๊ฐ ์์์ ๊ฒ์ ๋๋ค. # ์ปดํจํฐ์์ ์ปค๋๊น์ง ์ปดํจํฐ๋ ํฌ๊ฒ ํ๋์จ์ด ์ ์ํํธ์จ์ด ๋ก ๋๋ฉ๋๋ค. ์ด ๋์ ์ปดํจํฐ์ ๋ํ ์ง์์ด ์์ด๋ ์ฝ๊ฒ ๊ตฌ๋ณํ์ค ์ ์์ ๊ฒ์ ๋๋ค. ํ๋์จ์ด๋ ๋์ ๋ณด์ด๊ณ , ์์ผ๋ก ๋ง์ง์ ์๋ ๊ฒ๋ค ์๋ฅผ ๋ค๋ฉด ๋ชจ๋ํฐ, ๋ฐ์คํฌํฑ, CPU ๋ฑ์ด ๋ ์..
ํ์ด์ฌ์ sort() ํจ์๋ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํด์ฃผ๋ ํจ์์ ๋๋ค. ๋ฌธ์์ด ๋ํ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ์ด ๋ฉ๋๋ค. sort(reverse=True) ๋๋ reverse()๋ฅผ ์ด์ฉํ์ฌ ๋ด๋ฆผ์ฐจ์์ผ๋ก๋ ๊ตฌํ์ด ๊ฐ๋ฅํฉ๋๋ค. ์ด ๊ธ์์๋ key ๋งค๊ฐ๋ณ์๋ฅผ ๊ฐ์ง๋ sort()์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. key ๋งค๊ฐ๋ณ์๋ฅผ ๊ฐ์ง๋ sort() ํจ์๋ key ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ๋๊ณ ๊ธฐ๋ณธ๊ฐ์ ์ค๋ฆ์ฐจ์์ ๋๋ค. ๋ํ lambda์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฐฑ์ค 1181๋ฒ ๋ฌธ์ ๋ฅผ ์์๋ก ๋ค์ด๋ณด๊ฒ ์ต๋๋ค. ์ด ๋ฌธ์ ๊ฐ์ ๊ฒฝ์ฐ sort(key)๋ฅผ ์ด์ฉํ์ฌ ์ฝ๊ฒ ๊ตฌํ ์ ์์ต๋๋ค. data_list = ['but','i','wont','hesitate','no','more','no','more','it','cannot','wait','im','yo..
ํ์ด์ฌ์ collections ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ ์ฉํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํ๋ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ๊ทธ ์ค ๋ง์ด ์ฌ์ฉ๋๋ deque์ Counter์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ํ์ด์ฌ์์ ํ๋ฅผ ๊ตฌํํ๋๋ฐ ์์ด Queue๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ง๋ง ์ผ๋ฐ์ ์ธ ํ๋ฅผ ๊ตฌํํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์๋๋๋ค. ๋ฐ๋ผ์ deque๋ฅผ ์ด์ฉํ์ฌ ํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ๊ตฌํํด์ผ ํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ฆฌ์คํธ ๊ฐ์ฅ์์ ์์๋ฅผ ์ฝ์ ํ ๋ ์๊ฐ ๋ณต์ก๋๋ O(N)์ ๋๋ค. ํ์ง๋ง deque์ appendleft()๋ฅผ ์ฌ์ฉํ๋ฉด ์๊ฐ๋ณต์ก๋๋ฅผ O(1)๋ก ์ค์ผ ์ ์์ต๋๋ค. ๋ฆฌ์คํธ deque ๊ฐ์ฅ ์์ชฝ์ ์์ ์ถ๊ฐ(appendleft(x)) O(N) O(1) ๊ฐ์ฅ ๋ค์ชฝ์ ์์ ์ถ๊ฐ(append(x)) O(1) O(1) ๊ฐ์ฅ ์์ชฝ์ ์๋ ์์ ์ ๊ฑฐ(leftpop()) O(N) ..