IN DEPTH CAKE/Coding-WIKI
-
์๋ ํ์ธ์. ์ค๋ ํฌ์คํ ์์ ๋ค๋ฃฐ ๋ด์ฉ์ constexpr const char * ์ ๋ํ ์ด์ผ๊ธฐ์ ๋๋ค. ์ด ์์ํ๊ฒ ์๊ธด ๋ฌธ๋ฒ์ด ๋ง๋ ํํ์ธ์ง ์ด์ผ๊ธฐํด๋ณด๋๋ก ํ์ฃ . ์ฐ์ , constexpr์ด ๋ญ๊ฐ? constexpr๋ ์ผ๋ฐ์ ์ผ๋ก const์ ์ ์ฌํ์ง๋ง, const ๋ณด๋ค ์ข์ ๊ฐ๋ ์ผ๋ก ์ฌ๊ฒจ์ง๋๋ค. ์ผ๋จ ์์๋ ์ ์ constexpr๋ฅผ ์ฐ๋ฉด ๋ค์ ์ค๋ ๋ด์ฉ์ด const๋ผ๊ณ ์ ์ธํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฐ์ ์์ const์ ๋ค๋ฅผ ๊ฒ ์์ฃ . ๊ทธ๋ฌ๋ฉด ๋ ๊ฐ๊ฐ ๊ฐ์ ๊ฑด๊ฐ์? ์๋์ค, constexpr๋ const๋ก ๋์ฒด๊ฐ ๊ฐ๋ฅํ์ง๋ง, const๋ constexpr๋ก ํญ์ ๋์ฒด๋ ์ ์๋ ๊ฒ์ด ์๋๋๋ค. ๋ฌด์จ๋ง์ด๋๋ฉด, constexpr๋ const์ฒ๋ผ ๋ค์ ์ค๋ ์์ด ๋ณํ์ง ์๋ "constant (์์)"์์ ์๋ฏธํ๋ค๋..
[Hello! c++] constexpr const char *์ ๋ํด์์๋ ํ์ธ์. ์ค๋ ํฌ์คํ ์์ ๋ค๋ฃฐ ๋ด์ฉ์ constexpr const char * ์ ๋ํ ์ด์ผ๊ธฐ์ ๋๋ค. ์ด ์์ํ๊ฒ ์๊ธด ๋ฌธ๋ฒ์ด ๋ง๋ ํํ์ธ์ง ์ด์ผ๊ธฐํด๋ณด๋๋ก ํ์ฃ . ์ฐ์ , constexpr์ด ๋ญ๊ฐ? constexpr๋ ์ผ๋ฐ์ ์ผ๋ก const์ ์ ์ฌํ์ง๋ง, const ๋ณด๋ค ์ข์ ๊ฐ๋ ์ผ๋ก ์ฌ๊ฒจ์ง๋๋ค. ์ผ๋จ ์์๋ ์ ์ constexpr๋ฅผ ์ฐ๋ฉด ๋ค์ ์ค๋ ๋ด์ฉ์ด const๋ผ๊ณ ์ ์ธํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฐ์ ์์ const์ ๋ค๋ฅผ ๊ฒ ์์ฃ . ๊ทธ๋ฌ๋ฉด ๋ ๊ฐ๊ฐ ๊ฐ์ ๊ฑด๊ฐ์? ์๋์ค, constexpr๋ const๋ก ๋์ฒด๊ฐ ๊ฐ๋ฅํ์ง๋ง, const๋ constexpr๋ก ํญ์ ๋์ฒด๋ ์ ์๋ ๊ฒ์ด ์๋๋๋ค. ๋ฌด์จ๋ง์ด๋๋ฉด, constexpr๋ const์ฒ๋ผ ๋ค์ ์ค๋ ์์ด ๋ณํ์ง ์๋ "constant (์์)"์์ ์๋ฏธํ๋ค๋..
2024.04.21 -
๋ชฉ์ฐจ ๐ ๊ฐ์ ์ด์ง ํ์ ์ค๋ช ์ด์ง ํ์ template Array ๋ด์ ์ค๋ณต๋ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ Array ๋ด์ ์ค๋ณต๋ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ ์ฃผ์ ํจํด ์ค๋ช ์ ๋ค์์... ๊ฐ์ ์ด์ง ํ์์ ํฌ๊ธฐ๊ฐ $n$ ์ธ search space์์ ์ฌ์ฉ๋๋ ํ์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก, worst case์์์ ๋ณต์ก๋๊ฐ $O(\log n)$ ์ธ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ด์ง ํ์์ ์ ๋ ฌ๋์ด ์๋ ํ์ ๊ณต๊ฐ์ ๋ํด์ ์ ์ฉ๋๋ค. ์ด์ง ํ์์ด ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ๋ค ์ค ์๋ฅผ ๋ค์ด๋ณด์๋ฉด... ์ ๋ ฌ๋ ๋ฐฐ์ด์ด ์ฃผ์ด์ง๊ณ ํน์ ๊ฐ์ด ์ถ๊ฐ๋์ด์ผ ํ ์์น๋ฅผ ๋ฌผ์ด๋ณด๋ ๊ฒฝ์ฐ ์ ๋ ฌ๋์ง ์์ ๋ฐฐ์ด์ ๋ํด์ ํน์ ๊ฐ ๋ณด๋ค ํฌ๊ฑฐ๋ ์์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฐ์๋ฅผ ๋ฌผ์ด๋ณด๋ ๊ฒฝ์ฐ ์ด๋ฌํ ๋ฌธ์ ๋ ์ฃผ๋ก ์ฃผ์ด์ง ๋ฐฐ์ด์ด ์กฐ๊ฑด ๋ง์กฑ ์ฌ๋ถ์ ๋ฐ๋ผ ๋ ๊ฐ์ ์์ญ (๊ฐ๋ฅ, ๋ถ๊ฐ๋ฅ)์ผ๋ก ๋๋..
[์๊ณ ๋ฆฌ์ฆ] ์ด์ง ํ์ (Binary Search) - ์ค๋ณต๋ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ๊น์ง ์ดํด๋ณด๊ธฐ๋ชฉ์ฐจ ๐ ๊ฐ์ ์ด์ง ํ์ ์ค๋ช ์ด์ง ํ์ template Array ๋ด์ ์ค๋ณต๋ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ Array ๋ด์ ์ค๋ณต๋ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ ์ฃผ์ ํจํด ์ค๋ช ์ ๋ค์์... ๊ฐ์ ์ด์ง ํ์์ ํฌ๊ธฐ๊ฐ $n$ ์ธ search space์์ ์ฌ์ฉ๋๋ ํ์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก, worst case์์์ ๋ณต์ก๋๊ฐ $O(\log n)$ ์ธ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ด์ง ํ์์ ์ ๋ ฌ๋์ด ์๋ ํ์ ๊ณต๊ฐ์ ๋ํด์ ์ ์ฉ๋๋ค. ์ด์ง ํ์์ด ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ๋ค ์ค ์๋ฅผ ๋ค์ด๋ณด์๋ฉด... ์ ๋ ฌ๋ ๋ฐฐ์ด์ด ์ฃผ์ด์ง๊ณ ํน์ ๊ฐ์ด ์ถ๊ฐ๋์ด์ผ ํ ์์น๋ฅผ ๋ฌผ์ด๋ณด๋ ๊ฒฝ์ฐ ์ ๋ ฌ๋์ง ์์ ๋ฐฐ์ด์ ๋ํด์ ํน์ ๊ฐ ๋ณด๋ค ํฌ๊ฑฐ๋ ์์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฐ์๋ฅผ ๋ฌผ์ด๋ณด๋ ๊ฒฝ์ฐ ์ด๋ฌํ ๋ฌธ์ ๋ ์ฃผ๋ก ์ฃผ์ด์ง ๋ฐฐ์ด์ด ์กฐ๊ฑด ๋ง์กฑ ์ฌ๋ถ์ ๋ฐ๋ผ ๋ ๊ฐ์ ์์ญ (๊ฐ๋ฅ, ๋ถ๊ฐ๋ฅ)์ผ๋ก ๋๋..
2023.07.24 -
์ ํด๋ฆฌ๋ ํธ์ ๋ฒ ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ์ด๋ ๋ค์์ ์ฑ์ง์ ์ด์ฉํ์ฌ ์ต๋๊ณต์ฝ์ (Greatest Common Divisor, GCD) ๋ฅผ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค: ๋ ์ A์ B๊ฐ ์๋ค๊ณ ํ์ (A > B) ์ด ๋, A์ B๋ฅผ ๋๋ ๋๋จธ์ง R์ด๋ผ๊ณ ํ ๋, A์ B์ ์ต๋ ๊ณต์ฝ์๋ B์ R์ ์ต๋ ๊ณต์ฝ์์ ๊ฐ๋ค. ํ ๋ง๋๋ก GCD(A,B) = GCD(B, R)์ด ์ฑ๋ฆฝํ๋ค๋ ๊ฑด๋ฐ, ์กฐ๊ธ ์๊ฐํด๋ณด๋ฉด ์ด ํน์ง์ผ๋ก๋ถํฐ ์ฌ๊ท์ ์ธ ์ฑ์ง์ ๋์ถํ ์ ์์์ ์ ์ ์๋ค. ์ฆ, B๊ณผ R ์ญ์ B > R์ด ์ฑ๋ฆฝํ๋ฏ๋ก B๋ฅผ R๋ก ๋๋ ๋๋จธ์ง๋ฅผ X๋ผ๊ณ ํ๋ฉด ๊ฒฐ๊ตญ GCD(A,B) = GCD(B,R) = GCD(R,X) = ... ์ด ์ฑ๋ฆฝํ๋ค. ์ด ๋, ๋ ๊ฐ์ ๋๋ ๋๋จธ์ง๊ฐ 0์ผ ๋ ๊ฐ๋ค์ ์ฝ์๋ ํ๋์ด๋ฏ๋ก ์ต์ข ์ ์ผ๋ก ์ต๋๊ณต์ฝ์๋ฅผ ๊ตฌํ ์..
[์ฝ๋ฉ] ์ต๋๊ณต์ฝ์ ๊ตฌํ๊ธฐ - ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ (Euclidean Algorithm)์ ํด๋ฆฌ๋ ํธ์ ๋ฒ ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ์ด๋ ๋ค์์ ์ฑ์ง์ ์ด์ฉํ์ฌ ์ต๋๊ณต์ฝ์ (Greatest Common Divisor, GCD) ๋ฅผ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค: ๋ ์ A์ B๊ฐ ์๋ค๊ณ ํ์ (A > B) ์ด ๋, A์ B๋ฅผ ๋๋ ๋๋จธ์ง R์ด๋ผ๊ณ ํ ๋, A์ B์ ์ต๋ ๊ณต์ฝ์๋ B์ R์ ์ต๋ ๊ณต์ฝ์์ ๊ฐ๋ค. ํ ๋ง๋๋ก GCD(A,B) = GCD(B, R)์ด ์ฑ๋ฆฝํ๋ค๋ ๊ฑด๋ฐ, ์กฐ๊ธ ์๊ฐํด๋ณด๋ฉด ์ด ํน์ง์ผ๋ก๋ถํฐ ์ฌ๊ท์ ์ธ ์ฑ์ง์ ๋์ถํ ์ ์์์ ์ ์ ์๋ค. ์ฆ, B๊ณผ R ์ญ์ B > R์ด ์ฑ๋ฆฝํ๋ฏ๋ก B๋ฅผ R๋ก ๋๋ ๋๋จธ์ง๋ฅผ X๋ผ๊ณ ํ๋ฉด ๊ฒฐ๊ตญ GCD(A,B) = GCD(B,R) = GCD(R,X) = ... ์ด ์ฑ๋ฆฝํ๋ค. ์ด ๋, ๋ ๊ฐ์ ๋๋ ๋๋จธ์ง๊ฐ 0์ผ ๋ ๊ฐ๋ค์ ์ฝ์๋ ํ๋์ด๋ฏ๋ก ์ต์ข ์ ์ผ๋ก ์ต๋๊ณต์ฝ์๋ฅผ ๊ตฌํ ์..
2023.07.19 -
์ ๋ ฌ์ด ํ์ํ ์ด์ = ํ์ ๋ฐ์ดํฐ๊ฐ ์ ๋ ฌ๋์ด ์๋ค๋ฉด '์ด์ง ํ์'์ ์ฌ์ฉํ ์ ์๋ค. ์ด์ง ํ์ ์๊ณ ๋ฆฌ์ฆ์ ์ต์ ์ ๊ฒฝ์ฐ์์ O(log n)์ ์ฑ๋ฅ์ ๋ณด์ด๊ธฐ ๋๋ฌธ์ ๊ฐ๋ ฅํ๋ฉฐ, ์ด๋ฅผ ์ํด์๋ ์ ๋ ฌ์ด ์ ํ๋์ด์ผํ๋ค. ๋ํ์ ์ธ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ [Bubble Sort] ํ๊ท ์คํ ์๊ฐ : $O(n^2)$ / ์ต์ ์คํ ์๊ฐ : $O(n^2)$ / ๋ฉ๋ชจ๋ฆฌ $O(1)$ ํ ๋ฒ iteration์ ๋๋๋ง๋ค ํ๋์ ๊ฐ์ ์ ๋ ฌํ๋ค. ํ ๋ฒ์ iteration์์ ์ฒซ๋ฒ์งธ, ๋๋ฒ์งธ๋ฅผ ๋น๊ต, ๋๋ฒ์งธ์ ์ธ๋ฒ์งธ๋ฅผ ๋น๊ต ... ์ด๋ฐ ํํ๋ก $n-1$๋ฒ์งธ์ $n$๋ฒ์งธ๋ฅผ ๋น๊ตํจ์ผ๋ก์จ ๋ง์ง๋ง ๊ฐ์ ์ ๋ ฌํ ํ ๋ค์ ์์์๋ถํฐ ๋น๊ตํด์ $n-1$๋ฒ์งธ ๊ฐ์ ์ ๋ ฌํ๋ ํํ๋ก ๋์ํ๋ค. ์ต์ ์ ๊ฒฝ์ฐ์ ๋งค iteration๋ง๋ค ์ฒ์๋ถํฐ ๋๊น์ง ๋ค ..
[๋ชจ์ ๋๊ณ ๋งํด๋ณด์] ์ ๋ ฌ์๊ณ ๋ฆฌ์ฆ์ ๋ ฌ์ด ํ์ํ ์ด์ = ํ์ ๋ฐ์ดํฐ๊ฐ ์ ๋ ฌ๋์ด ์๋ค๋ฉด '์ด์ง ํ์'์ ์ฌ์ฉํ ์ ์๋ค. ์ด์ง ํ์ ์๊ณ ๋ฆฌ์ฆ์ ์ต์ ์ ๊ฒฝ์ฐ์์ O(log n)์ ์ฑ๋ฅ์ ๋ณด์ด๊ธฐ ๋๋ฌธ์ ๊ฐ๋ ฅํ๋ฉฐ, ์ด๋ฅผ ์ํด์๋ ์ ๋ ฌ์ด ์ ํ๋์ด์ผํ๋ค. ๋ํ์ ์ธ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ [Bubble Sort] ํ๊ท ์คํ ์๊ฐ : $O(n^2)$ / ์ต์ ์คํ ์๊ฐ : $O(n^2)$ / ๋ฉ๋ชจ๋ฆฌ $O(1)$ ํ ๋ฒ iteration์ ๋๋๋ง๋ค ํ๋์ ๊ฐ์ ์ ๋ ฌํ๋ค. ํ ๋ฒ์ iteration์์ ์ฒซ๋ฒ์งธ, ๋๋ฒ์งธ๋ฅผ ๋น๊ต, ๋๋ฒ์งธ์ ์ธ๋ฒ์งธ๋ฅผ ๋น๊ต ... ์ด๋ฐ ํํ๋ก $n-1$๋ฒ์งธ์ $n$๋ฒ์งธ๋ฅผ ๋น๊ตํจ์ผ๋ก์จ ๋ง์ง๋ง ๊ฐ์ ์ ๋ ฌํ ํ ๋ค์ ์์์๋ถํฐ ๋น๊ตํด์ $n-1$๋ฒ์งธ ๊ฐ์ ์ ๋ ฌํ๋ ํํ๋ก ๋์ํ๋ค. ์ต์ ์ ๊ฒฝ์ฐ์ ๋งค iteration๋ง๋ค ์ฒ์๋ถํฐ ๋๊น์ง ๋ค ..
2023.05.29 -
๋ธ๋ก๊ทธ ๊ธ ์๋จ/ํ๋จ์ ๊ฐํ์ ์ผ๋ก ๋จ๋ ๊ด๊ณ ๋ ๋ธ๋ก๊ทธ ๊ฐ์ธ ์์ต๊ณผ ๊ด๋ จ ์๋ ํฐ์คํ ๋ฆฌ ์ธก ๊ด๊ณ ์ ๋๋ค ์๊ฐ ์๋ ํ์ธ์. ์ค๋์ javascript๋ก ์ฝ๋ฉ๋ ํ๋ก์ ํธ์ ๋ฌธ์ํ๋ฅผ ์ํ sphinx-js๋ฅผ ์ค๋ช ํด๋๋ฆฌ๋ ค๊ณ ํฉ๋๋ค. sphinx๋ python ํ๋ก์ ํธ์ ๋ฌธ์ ์๋ํ๋ฅผ ์ํ ํด์ ๋๋ค. python ํ๋ก์ ํธ์ ํจ์, ๋ชจ๋๋ค์ ํน์ ๋ฌธ๋ฒ์ ๋ฐ๋ผ ์ฃผ์์ ์์ฑํด ๋๋ฉด ์๋์ผ๋ก latex ๋ฌธ์, html๋ก ๋น๋ํด ์ฃผ๋ ํด์ด์์. ์คํ ์์ค ํ๋ก์ ํธ์ ๋ฌธ์ํ ๋ฑ์ ๋ง์ด ์ฌ์ฉํฉ๋๋ค. javascript์ฉ์ผ๋ก ์ ์ฌํ ํด jsdoc ์ด ์์ง๋ง, read-the-docs ์ ์ฐ๋ํด์ ๋น๋ํ๊ณ ์ถ์ด์ ์ฐพ๊ฒ ๋ ๊ฒ ๋ฐ๋ก sphinx-js์์. GitHub - mozilla/sphinx-js: Autodoc-style ex..
sphinx-js ๋ก javascript ์ฝ๋ ๋ฌธ์ํํ๊ธฐ๋ธ๋ก๊ทธ ๊ธ ์๋จ/ํ๋จ์ ๊ฐํ์ ์ผ๋ก ๋จ๋ ๊ด๊ณ ๋ ๋ธ๋ก๊ทธ ๊ฐ์ธ ์์ต๊ณผ ๊ด๋ จ ์๋ ํฐ์คํ ๋ฆฌ ์ธก ๊ด๊ณ ์ ๋๋ค ์๊ฐ ์๋ ํ์ธ์. ์ค๋์ javascript๋ก ์ฝ๋ฉ๋ ํ๋ก์ ํธ์ ๋ฌธ์ํ๋ฅผ ์ํ sphinx-js๋ฅผ ์ค๋ช ํด๋๋ฆฌ๋ ค๊ณ ํฉ๋๋ค. sphinx๋ python ํ๋ก์ ํธ์ ๋ฌธ์ ์๋ํ๋ฅผ ์ํ ํด์ ๋๋ค. python ํ๋ก์ ํธ์ ํจ์, ๋ชจ๋๋ค์ ํน์ ๋ฌธ๋ฒ์ ๋ฐ๋ผ ์ฃผ์์ ์์ฑํด ๋๋ฉด ์๋์ผ๋ก latex ๋ฌธ์, html๋ก ๋น๋ํด ์ฃผ๋ ํด์ด์์. ์คํ ์์ค ํ๋ก์ ํธ์ ๋ฌธ์ํ ๋ฑ์ ๋ง์ด ์ฌ์ฉํฉ๋๋ค. javascript์ฉ์ผ๋ก ์ ์ฌํ ํด jsdoc ์ด ์์ง๋ง, read-the-docs ์ ์ฐ๋ํด์ ๋น๋ํ๊ณ ์ถ์ด์ ์ฐพ๊ฒ ๋ ๊ฒ ๋ฐ๋ก sphinx-js์์. GitHub - mozilla/sphinx-js: Autodoc-style ex..
2023.05.03 -
[์ฆ์] ์ ์ฌ์ฉ์ค์ด๋ conda ํ๊ฒฝ์์ tensorboard๋ฅผ ์ฌ์ฉํ ์ ์๋ค๊ณ ์๋ฌ๊ฐ ๋ด๋ค. ๋ค๋ฅธ ๊ฐ์ ํ๊ฒฝ๋ค์์๋ ๋ชจ๋ ๋์ผํ ์๋ฌ ๋ฉ์์ง๊ฐ ๋ฐ๊ฒฌ๋์๋ค. pip ๋ conda๋ก tensorboard ํจํค์ง ์ญ์ ๋ฅผ ํด์คฌ๋๋ฐ๋ ์๋ฌ๊ฐ ๊ณ์ ๋ด๋ค. Traceback (most recent call last): File "~/.local/bin/tensorboard", line 7, in line 7, in from tensorboard.main import run_main ImportError: No module named 'tensorboard' [ํด๊ฒฐ] bin ํด๋๋ฅผ ์์ ์ญ์ ํ๋ค rm -rf ~/.bin/tensorboard ๋ค์ conda ํ๊ฒฝ ์์ ๋ชจ๋์ ์ฌ ์ค์นํด์ฃผ์๋ค. pip install..
No module named 'tensorboard' ํด๊ฒฐ[์ฆ์] ์ ์ฌ์ฉ์ค์ด๋ conda ํ๊ฒฝ์์ tensorboard๋ฅผ ์ฌ์ฉํ ์ ์๋ค๊ณ ์๋ฌ๊ฐ ๋ด๋ค. ๋ค๋ฅธ ๊ฐ์ ํ๊ฒฝ๋ค์์๋ ๋ชจ๋ ๋์ผํ ์๋ฌ ๋ฉ์์ง๊ฐ ๋ฐ๊ฒฌ๋์๋ค. pip ๋ conda๋ก tensorboard ํจํค์ง ์ญ์ ๋ฅผ ํด์คฌ๋๋ฐ๋ ์๋ฌ๊ฐ ๊ณ์ ๋ด๋ค. Traceback (most recent call last): File "~/.local/bin/tensorboard", line 7, in line 7, in from tensorboard.main import run_main ImportError: No module named 'tensorboard' [ํด๊ฒฐ] bin ํด๋๋ฅผ ์์ ์ญ์ ํ๋ค rm -rf ~/.bin/tensorboard ๋ค์ conda ํ๊ฒฝ ์์ ๋ชจ๋์ ์ฌ ์ค์นํด์ฃผ์๋ค. pip install..
2023.03.28