๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ46 [๊ฐ๋ ์ ๋ฆฌ] ํฌ ํฌ์ธํฐ ์ต๊ทผ ์๊ณ ๋ฆฌ์ฆ์ ํ๋ฉด์ ์๊ฐ ์ด๊ณผ์ ์์ธ์ฒ๋ฆฌ๋ก ์ธํด ์๋นํ ์ ๋ฅผ ๋จน์๋ ๋ฌธ์ ๊ฐ ์๋ค. ํด๋น ๋ฌธ์ ์ ๋ค๋ฅธ ํ์ด๋ฅผ ์ฐพ์๋ณด๋ ํฌ ํฌ์ธํฐ ์๊ณ ๋ฆฌ์ฆ์ ํตํด ๊ฐ๋จํ๊ฒ ๊ตฌํํ ์ ์๋ค๋ ์ ์ ์์๊ณ ์ด์ ๋ํด ์ ๋ฆฌํด๋ณด๊ณ ์ ํ๋ค. ํฌ ํฌ์ธํฐ ์๊ณ ๋ฆฌ์ฆ์ ํ๋์ ๋ฐฐ์ด์์ ๋ ๊ฐ์ ์ธ๋ฑ์ค ํฌ์ธํฐ๋ฅผ ์กฐ์ํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์๋ฏธํ๋ค. ๋ฌธ์ ๋ฅผ ์์๋ก ๋ค์ด์ ์ค๋ช ํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. ๋ฐฑ์ค - 2467. ์ฉ์ก ์ด ๋ฌธ์ ์์ 0๊ณผ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฑฐ๋ฆฌ์ ํฉ์ ๊ฐ์ง๋ ๋ ์์๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ๋จผ์ O(N^2)์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ ๋ฐฉ๋ฒ์ด ์กด์ฌํ๋ค. ํ์ง๋ง ๋ฌธ์ ์ฒ๋ผ N์ ํฌ๊ธฐ๊ฐ O(N^2)์ผ๋ก ํด๊ฒฐํ ์ ์๋ ๊ฒฝ์ฐ์ ํฌ ํฌ์ธํฐ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ฉด O(N)์ ํด๋น ๊ฐ์ ๊ตฌํ ์ ์๋ค. (์ด ๋ฌธ์ ๋ ์ ๋ ฌ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ์ ์ฒด ๋ฌธ์ ์ ์๊ฐ๋ณต์ก๋๋ O(.. 2021. 4. 1. [๋ฐฑ์ค] - 2206. ๋ฒฝ๋ถ์๊ณ ์ด๋ํ๊ธฐ ๋ฌธ์ ํ์ด ์ด ๋ฌธ์ ๋ ์์ ์ BFS๋ฅผ ํ์ฐฝ ํ์์ ๋์๋ ๋ชป ํ์๋ ๋ฌธ์ ์๋๋ฐ ์ด์ ์ ์ฌํ ๋ฌธ์ ์ธ 1600. ๋ง์ด ๋๊ณ ํ ์์ญ์ด๋ฌธ์ ๋ฅผ ํ๊ณ ์๊ฐ์ ์ป์ด์ ๋ค์ ๋์ ํ๋๋ ์ฝ๊ฒ ํ๋ ธ๋ค. ์ด ๋ฌธ์ ๊ฐ ์ผ๋ฐ์ ์ธ BFS๋ณด๋ค ๊น๋ค๋ก์ด ์ด์ ๋ ์ด๋ค ์ขํ์ ์ฌ ์ ์๋ ๊ฒฝ์ฐ์ ์๊ฐ 2๊ฐ์ง(์ด์ ์ ๋ฒฝ์ ๋ถ์ ๊ฒฝ์ฐ, ์ด์ ์ ๋ฒฝ์ ๋ถ์์ง ์์ ๊ฒฝ์ฐ)๋ผ๋ ์ ์ด๋ค. ๋ฐ๋ผ์ 2์ฐจ์ ๋ฐฉ๋ฌธ ๋ฐฐ์ด๋ก๋ ์ฒ๋ฆฌ๊ฐ ๋ถ๊ฐ๋ฅํ๊ณ 3์ฐจ์ ๋ฐฐ์ด์ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์๋ค. 3์ฐจ์ ๋ฐฐ์ด์์ 0๋ฒ์จฐ ์ธ๋ฑ์ค๋ ๋ฒฝ์ ์ด๋ฏธ ๋ถ์๊ณ ์จ ๊ฒฝ์ฐ, 1๋ฒ์งธ ์ธ๋ฑ์ค๋ ๋ฒฝ์ ์์ง ๋ถ์์ง ์์ ๊ฒฝ์ฐ์ด๋ค. bfs๋ฅผ ์งํํ๋ฉฐ ๋ค์์ 3๊ฐ์ง ๊ฒฝ์ฐ์ ๋ํด์ ์ฒ๋ฆฌํด์ฃผ์๋ค. ํ์ฌ ๋ฒฝ์ ๋ถ์ ์ ์๋ ๊ธฐํ๊ฐ ๋จ์์๊ณ ๋ค์ ๋ฐฉ๋ฌธํ ์ขํ๊ฐ ๋ฒฝ์ธ ๊ฒฝ์ฐ, ๊ธฐํ๋ฅผ ์์งํ๊ณ ๋ฒฝ์ ๋ฐฉ๋ฌธ ๊ธฐํ๊ฐ.. 2021. 3. 24. [๋ฐฑ์ค] - 1277. ๋ฐ์ ์ ์ค์น ๋ฌธ์ ํ์ด 1๋ฒ ๋ฐ์ ์๋ถํฐ N๋ฒ์งธ ๋ฐ์ ์๊น์ง์ ์ต์ ๋น์ฉ์ ๊ตฌํ๋ ๋ฌธ์ ์ด๊ธฐ ๋๋ฌธ์ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ํด๊ฒฐํ์๋ค. ๋จผ์ ๊ฐ ๋ฐ์ ์์ ์ขํ๋ฅผ ์ ์ฅ(plant)ํ๊ณ , ์ฐ๊ฒฐ๋์ด ์๋์ง ์ฌ๋ถ๋ฅผ ์ ์ฅ(connected)ํ์๋ค. ๋ค์์ผ๋ก ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ์ํํ๊ธฐ ์ , 1๋ฒ๋ถํฐ ๊ฐ ์ ์ ๊น์ง์ ๊ฑฐ๋ฆฌ๋ฅผ ๋ํ๋ด๋ distance ๋ฐฐ์ด์ ์ฐ๊ฒฐ๋ ๊ฒฝ์ฐ์๋ 0, ์ฐ๊ฒฐ๋์ง ์์ ๊ฒฝ์ฐ์๋ INF๋ก ์ด๊ธฐํํด์ฃผ์๋ค. ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ์ํํ๋ฉด์ ๊ฐ์ค์น๋ฅผ ๋ํด์ฃผ๋ ๋ถ๋ถ์ ๊ฐ ์ขํ๊ฐ์ ๊ฑฐ๋ฆฌ์ด๊ธฐ ๋๋ฌธ์ ๋ ์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ๊ณต์์ ํตํด ๊ตฌํ๋ค. ์ถ๊ฐ์ ์ผ๋ก ์ธ์ ํ ํ๋ ฌ์์ ์ฐพ๋ ์ผ๋ฐ์ ์ธ ๊ฒฝ์ฐ์ ๋ฌ๋ฆฌ ๋ชจ๋ ๋ฐ์ ์์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ํด์ ๊ฐฑ์ ํด ์ค ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ 1~N๊น์ง ์๊ธฐ ์์ ์ ์ ์ธํ๊ณ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐฑ์ ํด์ฃผ์๋ค. ํ.. 2021. 3. 24. [Kubernetes Best Practice] 10. ํ๋์ ์ปจํ ์ด๋ ๋ณด์ ์ด ๊ธ์ Kubernetes Best Practice๋ฅผ ์ฝ๊ณ ๊ฐ์ธ์ ์ผ๋ก ์ค์ํ๋ค๊ณ ์๊ฐํ๋ ๋ถ๋ถ๊ณผ ์ ๋ชจ๋ฅด๋ ๋ถ๋ถ์ ๋ํด ๊ณต๋ถํ ๋ด์ฉ์ ์์ฑํ ๊ธ์ ๋๋ค.๋ชจ๋ ๋ด์ฉ์ ์ฑ ์ ํฌํจ๋์ด ์๋ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑํ์์ผ๋ฉฐ ์์ธํ ๋ด์ฉ์ด ๊ถ๊ธํ์ ๋ถ๋ค์ ์ฑ ์ ๊ตฌ๋งคํด์ ์ฝ๋ ๊ฒ์ ๊ถ์ฅ๋๋ฆฝ๋๋ค. ์ต๊ทผ ์๋น์ค ๋ฉ์์ ๋ํด ์์๋ณด๊ฑฐ๋ ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ฌ์ฉํ๊ณ ๊ณต๋ถํ๋ฉด์ ๊ฐ์ฅ ๋ง์ด ๋ค์๋ ์๊ฐ์ ์ด ๋ฐฉ๋ฒ์ด ์ต์ ์ธ๊ฐ? ๋ผ๋ ์๊ฐ์ด์์ต๋๋ค. ์ด์ ๋ํ ๊ถ๊ธ์ฆ์ ํด๊ฒฐํ๋๋ฐ ๋์์ด ๋ ๋งํ ์ฑ ์ ๋ฐ๊ฒฌํด์ ์ฝ์ด๋ณด๊ณ ์ ํฉ๋๋ค. Pod์ ๋ณด์์ ๊ฐํํ ์ ์๋ ์ฟ ๋ฒ๋คํฐ์ค API์๋ PodSecurityPolicy์ RuntimeClass๋ผ๋ 2๊ฐ์ง ๋ฐฉ๋ฒ์ด ์กด์ฌํฉ๋๋ค. PodSecurityPolicy PodSecurityPolicy๋ ํด๋ฌ์คํฐ.. 2021. 3. 23. [๊ฐ๋ ์ ๋ฆฌ] ์ต๋จ ๊ฑฐ๋ฆฌ ์๊ณ ๋ฆฌ์ฆ - ๋ค์ต์คํธ๋ผ ๊ฐ์ค์น๊ฐ ์๋ ๊ทธ๋ํ์ ์ต๋จ๊ฑฐ๋ฆฌ ๋ฌธ์ ๋ ๋๋ถ๋ถ BFS๋ก ํด๊ฒฐํ ์ ์์ต๋๋ค. ํ์ง๋ง, ๊ฐ์ ์ ๊ฐ์ค์น๊ฐ ์กด์ฌํ๋ค๋ฉด BFS๊ฐ ์๋ ์ต๋จ๊ฑฐ๋ฆฌ ์๊ณ ๋ฆฌ์ฆ์ ํตํด ์ ๊ทผํด์ผ ํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ค์น ๊ทธ๋ํ์ ์ต๋จ๊ฑฐ๋ฆฌ ๋ฌธ์ ๋ ๋ค์๊ณผ ๊ฐ์ ์ ํ์ด ์กด์ฌํฉ๋๋ค. ๋ ์ ์ ๊ฐ์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ํ๋์ ์ ์ ์์ ๋ค๋ฅธ ๋ชจ๋ ์ ์ ๊ณผ์ ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ํ๋์ ์ ์ ์ผ๋ก ๊ฐ๋ ๋ชจ๋ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ ์ ๊ฐ์ ๋ชจ๋ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ ๋ฌธ์ - ํ๋ก์ด๋-์์ฌ ์ ๋ฒ ๊ธ์์๋ 4๋ฒ ์ ํ์ ํด๊ฒฐํ๊ธฐ ์ํ ํ๋ก์ด๋-์์ฌ ์๊ณ ๋ฆฌ์ฆ์ ๋ํด ์์๋ณด์์ต๋๋ค. ์ด๋ฒ ๊ธ์์๋ 2๋ฒ ์ ํ์ ํด๊ฒฐํ ์ ์๋ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค. ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๋จํ๊ฒ ์ค๋ช ํ๋ฉด ์์ ์ ์ ์์ ๊ฑฐ๋ฆฌ๊ฐ ์ต์์ธ ์ ์ ์ ์ ํํด .. 2021. 3. 22. [๊ฐ๋ ์ ๋ฆฌ] ์ต๋จ๊ฑฐ๋ฆฌ ์๊ณ ๋ฆฌ์ฆ - ํ๋ก์ด๋ ์์ฌ ๊ฐ์ค์น๊ฐ ์๋ ๊ทธ๋ํ์ ์ต๋จ๊ฑฐ๋ฆฌ ๋ฌธ์ ๋ ๋๋ถ๋ถ BFS๋ก ํด๊ฒฐํ ์ ์์ต๋๋ค. ํ์ง๋ง, ๊ฐ์ ์ ๊ฐ์ค์น๊ฐ ์กด์ฌํ๋ค๋ฉด BFS๊ฐ ์๋ ์ต๋จ๊ฑฐ๋ฆฌ ์๊ณ ๋ฆฌ์ฆ์ ํตํด ์ ๊ทผํด์ผ ํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ค์น ๊ทธ๋ํ์ ์ต๋จ๊ฑฐ๋ฆฌ ๋ฌธ์ ๋ ๋ค์๊ณผ ๊ฐ์ ์ ํ์ด ์กด์ฌํฉ๋๋ค. ๋ ์ ์ ๊ฐ์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ํ๋์ ์ ์ ์์ ๋ค๋ฅธ ๋ชจ๋ ์ ์ ๊ณผ์ ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ํ๋์ ์ ์ ์ผ๋ก ๊ฐ๋ ๋ชจ๋ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ ์ ๊ฐ์ ๋ชจ๋ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด ์ค 4๋ฒ์ ํด๊ฒฐํ๊ธฐ ์ํ ํ๋ก์ด๋-์์ฌ ์๊ณ ๋ฆฌ์ฆ์ ๋ํด ์์๋ณด๊ณ ์ ํฉ๋๋ค. ํ๋ก์ด๋ ์์ฌ ์๊ณ ๋ฆฌ์ฆ ํ๋ก์ด๋ ์์ฌ ์๊ณ ๋ฆฌ์ฆ์ ๋ชจ๋ ์ ์ ๊ฐ์ ์ต๋จ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ์์ผ๋ก์ ์ค๋ช ์์ ์ฌ์ฉ๋ ๊ทธ๋ํ๋ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ค์น๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ด๊ธฐ ๊ฐ์ค์น ๊ฐ์ ์ ์ฅํ๋ .. 2021. 3. 16. ์ด์ 1 2 3 4 5 ยทยทยท 8 ๋ค์