์ ์ฒด ๊ธ46 [๊ฐ๋ ์ ๋ฆฌ] ์ค์ํ ์๊ณ ๋ฆฌ์ฆ ์ค์ํ ์๊ณ ๋ฆฌ์ฆ์ด๋ ํน์ ๊ธฐ์ค์ ๋ฐ๋ผ ์ ๋ ฌ๋ ์์๋๋ก ๋ฌธ์ ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ค์ํ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํด์ผํ๋ ๋ฌธ์ ๋ค์ ํน์ง์ ๋ฌํํ ๋ฐฉ๋ฒ (์ผ๋ฐ์ ์ผ๋ก O(N^2)์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ๋ ๋ฐฉ๋ฒ)์ผ๋ก๋ ํด๊ฒฐ์ด ๋ถ๊ฐ๋ฅํ๋ฉฐ, DP๋ฅผ ์ฌ์ฉํ๊ธฐ์๋ ๋ฉ๋ชจ์ด์ ์ด์ ํด์ผํ ์๊ฐ ๋๋ฌด ๋ง์ ๊ฒฝ์ฐ๊ฐ ์ผ๋ฐ์ ์ด๋ค. ์ค์ํ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ฌธ์ ๋ฅผ ํ ๊ฒฝ์ฐ, ํด๋น ์๊ฐ ๋ณต์ก๋๋ ์ ๋ ฌ์์ ๋ฐ์ํ๋ O(NlogN)์์์ ํด๊ฒฐ๋๋ค. ๋ฐฑ์ค - 8982. ์ฌ๋ฅ๊พผ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ํ๊ฒ๋๋ฉด O(N*M)์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๊ฒ ๋๊ณ ์๊ฐ์ด๊ณผ๊ฐ ๋ฐ์ํ๋ค. ๊ทธ๋ ๋ค๊ณ ์ขํ์ ๋ํ ์ ๋ณด๋ฅผ ๊ธฐ์ตํ ์๋ ์๊ธฐ ๋๋ฌธ์ ์ค์ํ ์๊ณ ๋ฆฌ์ฆ์ ํตํด ํด๊ฒฐํด์ผ ํ๋ค. ๋จผ์ , ์ฌ๋์ ๋๋ฌผ์ ๋ชจ๋ x์ถ ์์๋ก ์ ๋ ฌํ๊ณ ๋๋ฌผ์ ๊ธฐ์ค์ผ๋ก ์ฌ๋ฅ์ด ๊ฐ๋ฅํ์ง ํ์ธํ๋ค. ํ์ธ ๊ณผ์ ์ ๋.. 2021. 2. 26. [Kubernetes Best Practice] 5. ์ง์์ ํตํฉ, ํ ์คํธ, ๋ฐฐํฌ ์ด ๊ธ์ Kubernetes Best Practice๋ฅผ ์ฝ๊ณ ๊ฐ์ธ์ ์ผ๋ก ์ค์ํ๋ค๊ณ ์๊ฐํ๋ ๋ถ๋ถ๊ณผ ์ ๋ชจ๋ฅด๋ ๋ถ๋ถ์ ๋ํด ๊ณต๋ถํ ๋ด์ฉ์ ์์ฑํ ๊ธ์ ๋๋ค. ๋ชจ๋ ๋ด์ฉ์ ์ฑ ์ ํฌํจ๋์ด ์๋ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑํ์์ผ๋ฉฐ ์์ธํ ๋ด์ฉ์ด ๊ถ๊ธํ์ ๋ถ๋ค์ ์ฑ ์ ๊ตฌ๋งคํด์ ์ฝ๋ ๊ฒ์ ๊ถ์ฅ๋๋ฆฝ๋๋ค. ์ต๊ทผ ์๋น์ค ๋ฉ์์ ๋ํด ์์๋ณด๊ฑฐ๋ ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ฌ์ฉํ๊ณ ๊ณต๋ถํ๋ฉด์ ๊ฐ์ฅ ๋ง์ด ๋ค์๋ ์๊ฐ์ ์ด ๋ฐฉ๋ฒ์ด ์ต์ ์ธ๊ฐ? ๋ผ๋ ์๊ฐ์ด์์ต๋๋ค. ์ด์ ๋ํ ๊ถ๊ธ์ฆ์ ํด๊ฒฐํ๋๋ฐ ๋์์ด ๋ ๋งํ ์ฑ ์ ๋ฐ๊ฒฌํด์ ์ฝ์ด๋ณด๊ณ ์ ํฉ๋๋ค. ์ปจํ ์ด๋ ์ด๋ฏธ์ง ๊ฒฝ๋ํ ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ ๋ ์ด๋ฏธ์ง์ ํฌ๊ธฐ๋ฅผ ์ต์ ํํ๊ธฐ ์ํ ๊ณ ๋ ค๊ฐ ํ์ํฉ๋๋ค. ์ด๋ฏธ์ง์ ํฌ๊ธฐ๊ฐ ์์์๋ก registry์์ ๋ค์ด ๋ฐ๋ ์๊ฐ์ด ๊ฐ์ํ์ด ๋ฐฐํฌ ๊ณผ์ ์์ ์์๋๋ ์๊ฐ์ด ์ค์ด๋ค๋ฟ๋ง ์๋๋ผ.. 2021. 2. 25. [Kubernetes Best Practice] 4. ์ค์ , ์ํฌ๋ฆฟ, RBAC ์ด ๊ธ์ Kubernetes Best Practice๋ฅผ ์ฝ๊ณ ๊ฐ์ธ์ ์ผ๋ก ์ค์ํ๋ค๊ณ ์๊ฐํ๋ ๋ถ๋ถ๊ณผ ์ ๋ชจ๋ฅด๋ ๋ถ๋ถ์ ๋ํด ๊ณต๋ถํ ๋ด์ฉ์ ์์ฑํ ๊ธ์ ๋๋ค. ๋ชจ๋ ๋ด์ฉ์ ์ฑ ์ ํฌํจ๋์ด ์๋ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑํ์์ผ๋ฉฐ ์์ธํ ๋ด์ฉ์ด ๊ถ๊ธํ์ ๋ถ๋ค์ ์ฑ ์ ๊ตฌ๋งคํด์ ์ฝ๋ ๊ฒ์ ๊ถ์ฅ๋๋ฆฝ๋๋ค. ์ต๊ทผ ์๋น์ค ๋ฉ์์ ๋ํด ์์๋ณด๊ฑฐ๋ ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ฌ์ฉํ๊ณ ๊ณต๋ถํ๋ฉด์ ๊ฐ์ฅ ๋ง์ด ๋ค์๋ ์๊ฐ์ ์ด ๋ฐฉ๋ฒ์ด ์ต์ ์ธ๊ฐ? ๋ผ๋ ์๊ฐ์ด์์ต๋๋ค. ์ด์ ๋ํ ๊ถ๊ธ์ฆ์ ํด๊ฒฐํ๋๋ฐ ๋์์ด ๋ ๋งํ ์ฑ ์ ๋ฐ๊ฒฌํด์ ์ฝ์ด๋ณด๊ณ ์ ํฉ๋๋ค. ConfigMap & Secret ์ปจํ ์ด๋์ ๋์ ์ด์์ฑ์ ๋ท๋ฐ์นจํ๋ ํน์ฑ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ํ๊ฒฝ์ ๋ถ๋ฆฌ ์ฆ, ๋ฐํ์์ ์ค์ ๋ฐ์ดํฐ๋ฅผ ํ๊ฒฝ ๋ณ์๋ ๋ณผ๋ฅจ ๋ง์ดํธ๋ฅผ ํตํด ์ฃผ์ ํ ์ ์๋ค๋ ์ ์ ๋๋ค. ์ฟ ๋ฒ๋คํฐ์ค๋ ์ด๋ฅผ ๋ฌ.. 2021. 2. 22. [๋ฐฑ์ค] 1987. ์ํ๋ฒณ ํ์ด ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ DFS๋ก ํ์ํ๋ฉฐ ์ด์ ์ ๋ฐฉ๋ฌธํ ์ํ๋ฒณ์ธ ๊ฒฝ์ฐ ๊ฐ์ง์น๊ธฐ๋ฅผ ์งํํ์ฟ๋ค. ์ด ๋ ์ด์ ๋ฐฉ๋ฌธ ๋ ธ๋๋ฅผ ํ์ธํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ด๊ธฐ์๋ ArrayList๋ฅผ ์ฌ์ฉํ์ง๋ง ์๊ฐ์ด๊ณผ๊ฐ ๋ฐ์ํ์๊ณ ์ด์ ๋ํ ์ด์ ๊ฐ ArrayList์ remove ๊ณผ์ ์์ O(N)์ ์๊ฐ๋ณต์ก๋๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ํ๋จํ์๋ค. ๊ทธ๋์ ์ด์ ๋ฐฉ๋ฌธ ์ํ๋ฒณ์ ์ ์งํ๋ ๋ฐฉ์์ StringBuilder๋ฅผ ์ฌ์ฉํ์๊ณ ๋ง์ง๋ง ์ธ๋ฑ์ค๋ฅผ ์ญ์ ํจ์ผ๋ก์จ ์๊ฐ ์ด๊ณผ๋ฅผ ํด๊ฒฐํ์๋ค. ํ์ง๋ง ์ด ๋ฐฉ๋ฒ๋ ๋๋ฌด ๋๋ ค์ ์ด๋ฅผ ํ์ธํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋นํธ๋ง์คํน์ ์ฌ์ฉํ์๊ณ ๋ชจ๋ ๊ฒฝ์ฐ์ distance๋ฅผ ๋น๊ตํ๋ ๊ฒ์ด ์๋๋ผ ์ ๋งํ์ง ์์ ๊ฒฝ์ฐ์๋ง distance๋ฅผ ๋น๊ตํ๋๋ก ๊ฐ์ ํ์๋ค. ๋นํธ๋ง์คํน์ผ๋ก๋ ํ์ฌ ์ํ๋ฒณ - 'A'๋ฅผ ํด์ค์ผ๋ก์จ ํฌํจ ์ฌ๋ถ๋ฅผ ํ์ธํ์๋ค.. 2021. 2. 19. [๋ฐฑ์ค] 3109. ๋นต์ง ํ์ด DFS๋ฅผ ํตํด ํ์์ ์งํํ ๋ ์ต๋๊ฐ์ ์ฐพ๋ ๊ฒฝ์ฐ๋ ๋๋ถ๋ถ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ํ์ธํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ ๋งํ์ง ์์ ๊ฒฝ์ฐ ๊ฐ์ง์น๊ธฐํ๋ ๋ฐฑํธ๋ํน ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์๋ค. ํ์ง๋ง ์ด ๋ฌธ์ ๋ ์์ ์ ์ ๊ฐ์ฅ ์์์๋ถํฐ ์ฐ๊ฒฐํ ์ ์๋ ๊ฒฝ์ฐ์๋ ์ฐ๊ฒฐํ๋ ๊ฒฝ์ฐ๊ฐ ์ต์ ์ ๋ฐฉ๋ฒ์ด ๋๋ ๊ทธ๋ฆฌ๋ํ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ์๊ณ ์ด๋ฅผ ํตํด ์ ๋งํ์ง ์์ ๊ฒฝ์ฐ ํ์์ ์ข ๋ฃํ๋ ๊ฒฝ์ฐ ๋๋์๊ฐ๋ ๋ฐฑํธ๋ํน ๋ฐฉ์์ ์ฌ์ฉํ์๋ค. ์ฒซ๋ฒ์จฐ ์ด์ 1๋ฒ์จฐ ํ๋ถํฐ ํ์์ ์งํํ๊ณ , ๋ง์ฝ C๋ฒ์งธ ํ์ ๋์ฐฉํ๋ค๋ฉด ์ด๋ฒ ์์ ์์น์์์ ํ์์ ์ข ๋ฃํ๋ค. ๋ค์ ์์น๋ ๋์ผํ๊ฒ ์งํํ๋๋ฐ ๋ง์ฝ ์คํจํ๋ค๊ณ ํ๋๋ผ๋ ๋ฐฉ๋ฌธํ ์์น์ ๋ํ ์ฒดํฌ๋ฅผ ๋๋๋ฆฌ์ง ์๋๋ค. ์๋ํ๋ฉด ํด๋น ์์น์์ ํ์ดํ๋ฅผ ์์ฑํ์ง ๋ชปํ๋ค๊ณ ํ๋๋ผ๋ ๋ค ์ ํ์ง์์ ํด๋น ๋ฐฉํฅ์ ๋์ผํ๊ฒ ์ค.. 2021. 2. 19. [๋ฐฑ์ค] 15686. ์นํจ ๋ฐฐ๋ฌ ํ์ด ์ผํ ๋ณด๋ฉด ๊ฒฝ์ฐ์ ์๊ฐ ๋ง์๋ณด์ด์ง๋ง ๊ฒฐ๊ตญ ๋ฐ์ ธ์ผ ํ๋ ๊ฒฝ์ฐ์ ์๋ ์นํจ์ง์ ๊ฐ์ ์ค์ M๊ฐ์ ์กฐํฉ์ ๋ฝ๋ ๊ฒฝ์ฐ๋ค. ๋ชจ๋ ๊ฒฝ์ฐ์ ๋ํด ์ง๊ณผ์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๊ณ ์ต์๊ฐ์ ๊ตฌํ๋ ๋ฐฉ์์ผ๋ก ์งํํ์๋ค. Next Permutation ๋ฐฉ๋ฒ์ ํตํด์ ์กฐํฉ์ ์์ฑํ๊ณ ์ด์ ์ต์๊ฐ์ ๋์ด์๋ ๊ฒฝ์ฐ ๊ฑฐ๋ฆฌ ๊ณ์ฐ์ ์ค์งํ๊ณ ๋ฆฌํด๋๋๋ก ๊ตฌํํ์๋ค. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; public class Solution15686 { static class Pair { int x = 0; int y =.. 2021. 2. 19. ์ด์ 1 2 3 4 5 6 7 8 ๋ค์