์คํ์ฑํ ๋ฐฉ ๋ฌธ์ ์นด์นด์คํก ์คํ์ฑํ ๋ฐฉ์์๋ ์น๊ตฌ๊ฐ ์๋ ์ฌ๋๋ค๊ณผ ๋ํ๋ฅผ ํ ์ ์๋๋ฐ, ๋ณธ๋ ๋๋ค์์ด ์๋ ๊ฐ์์ ๋๋ค์์ ์ฌ์ฉํ์ฌ ์ฑํ ๋ฐฉ์ ๋ค์ด๊ฐ ์ ์๋ค. ์ ์ ์ฌ์์ธ ๊นํฌ๋ฃจ๋ ์นด์นด์คํก ์คํ ์ฑํ ๋ฐฉ์ ๊ฐ์คํ ์ฌ๋์ ์ํด, ๋ค์ํ ์ฌ๋๋ค์ด ๋ค์ด์ค๊ณ , ๋๊ฐ๋ ๊ฒ์ ์ง์ผ๋ณผ ์ ์๋ ๊ด๋ฆฌ์์ฐฝ์ ๋ง๋ค๊ธฐ๋ก ํ๋ค. ์ฑํ ๋ฐฉ์ ๋๊ตฐ๊ฐ ๋ค์ด์ค๋ฉด ๋ค์ ๋ฉ์์ง๊ฐ ์ถ๋ ฅ๋๋ค. [๋๋ค์]๋์ด ๋ค์ด์์ต๋๋ค. ์ฑํ ๋ฐฉ์์ ๋๊ตฐ๊ฐ ๋๊ฐ๋ฉด ๋ค์ ๋ฉ์์ง๊ฐ ์ถ๋ ฅ๋๋ค. [๋๋ค์]๋์ด ๋๊ฐ์ต๋๋ค. ์ฑํ ๋ฐฉ์์ ๋๋ค์์ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ด ๋ ๊ฐ์ง์ด๋ค. ์ฑํ ๋ฐฉ์ ๋๊ฐ ํ, ์๋ก์ด ๋๋ค์์ผ๋ก ๋ค์ ๋ค์ด๊ฐ๋ค. ์ฑํ ๋ฐฉ์์ ๋๋ค์์ ๋ณ๊ฒฝํ๋ค. ๋๋ค์์ ๋ณ๊ฒฝํ ๋๋ ๊ธฐ์กด์ ์ฑํ ๋ฐฉ์ ์ถ๋ ฅ๋์ด ์๋ ๋ฉ์์ง์ ๋๋ค์๋ ์ ๋ถ ๋ณ๊ฒฝ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฑํ ๋ฐฉ์..
์๋ฌผ์ ์ ์ด์ ๋ฌธ์ https://programmers.co.kr/learn/courses/30/lessons/60059# ๋ฌธ์ ์ค๋ช ๊ณ ๊ณ ํ์์ธ ํ๋ธ๋ ๊ณ ๋ ์ ์ ์ง์์ ๋ณด๋ฌผ๊ณผ ์ ์ ์ด ๊ฐ๋ํ ๊ฒ์ผ๋ก ์ถ์ ๋๋ ๋น๋ฐ์ ๋ฌธ์ ๋ฐ๊ฒฌํ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ๋ฌธ์ ์ด๋ ค๊ณ ์ดํด๋ณด๋ ํน์ดํ ํํ์ ์๋ฌผ์ ๋ก ์ ๊ฒจ ์์๊ณ ๋ฌธ ์์๋ ํน์ดํ ํํ์ ์ด์ ์ ํจ๊ป ์๋ฌผ์ ๋ฅผ ํธ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ค์๊ณผ ๊ฐ์ด ์ค๋ช ํด ์ฃผ๋ ์ข ์ด๊ฐ ๋ฐ๊ฒฌ๋์์ต๋๋ค. ์ ๊ฒจ์๋ ์๋ฌผ์ ๋ ๊ฒฉ์ ํ ์นธ์ ํฌ๊ธฐ๊ฐ 1 x 1์ธ N x N ํฌ๊ธฐ์ ์ ์ฌ๊ฐ ๊ฒฉ์ ํํ์ด๊ณ ํน์ดํ ๋ชจ์์ ์ด์ ๋ M x M ํฌ๊ธฐ์ธ ์ ์ฌ๊ฐ ๊ฒฉ์ ํํ๋ก ๋์ด ์์ต๋๋ค. ์๋ฌผ์ ์๋ ํ์ด ํ์ฌ ์๊ณ ์ด์ ๋ํ ํ๊ณผ ๋๊ธฐ ๋ถ๋ถ์ด ์์ต๋๋ค. ์ด์ ๋ ํ์ ๊ณผ ์ด๋์ด ๊ฐ๋ฅํ๋ฉฐ ์ด์ ์ ๋๊ธฐ ๋ถ๋ถ์ ์๋ฌผ์ ์ ํ ๋ถ๋ถ์..
๊ดํธ ๋ณํ ๋ฌธ์ programmers.co.kr/learn/courses/30/lessons/60058 ๋ฌธ์ ์ค๋ช ์นด์นด์ค์ ์ ์ ๊ฐ๋ฐ์๋ก ์ ์ฌํ ์ฝ์ ์ ๋ฐฐ ๊ฐ๋ฐ์๋ก๋ถํฐ ๊ฐ๋ฐ์ญ๋ ๊ฐํ๋ฅผ ์ํด ๋ค๋ฅธ ๊ฐ๋ฐ์๊ฐ ์์ฑํ ์์ค ์ฝ๋๋ฅผ ๋ถ์ํ์ฌ ๋ฌธ์ ์ ์ ๋ฐ๊ฒฌํ๊ณ ์์ ํ๋ผ๋ ์ ๋ฌด ๊ณผ์ ๋ฅผ ๋ฐ์์ต๋๋ค. ์์ค๋ฅผ ์ปดํ์ผํ์ฌ ๋ก๊ทธ๋ฅผ ๋ณด๋ ๋๋ถ๋ถ ์์ค ์ฝ๋ ๋ด ์์ฑ๋ ๊ดํธ๊ฐ ๊ฐ์๋ ๋ง์ง๋ง ์ง์ด ๋ง์ง ์์ ํํ๋ก ์์ฑ๋์ด ์ค๋ฅ๊ฐ ๋๋ ๊ฒ์ ์๊ฒ ๋์์ต๋๋ค. ์์ ํด์ผ ํ ์์ค ํ์ผ์ด ๋๋ฌด ๋ง์์ ๊ณ ๋ฏผํ๋ ์ฝ์ ์์ค ์ฝ๋์ ์์ฑ๋ ๋ชจ๋ ๊ดํธ๋ฅผ ๋ฝ์์ ์ฌ๋ฐ๋ฅธ ์์๋๋ก ๋ฐฐ์น๋ ๊ดํธ ๋ฌธ์์ด์ ์๋ ค์ฃผ๋ ํ๋ก๊ทธ๋จ์ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ๋ฐํ๋ ค๊ณ ํฉ๋๋ค. ์ฉ์ด์ ์ ์ '(' ์ ')' ๋ก๋ง ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ด ์์ ๊ฒฝ์ฐ, '(' ์ ๊ฐ์์ ')' ์ ๊ฐ..
๊ฐ์ YAML : YAML Ain't Markup Language ์ฌ๊ท๋ฅผ ํตํด ์ด๋ฆ์ง๊ธฐ ์ฟ ์ฟ ๊ธฐ์กด์๋ ํ๋ก๊ทธ๋จ์ ์ค์ ์ ์ ์ฅํ๊ณ ์ฝ๋๋ฐ์ xml ํ์์ ์จ์๋ค. ํ์ง๋ง ์์ฑ์ด ๋๋ฌด ๊ท์ฐฎ์์ ๋ค๋ฅธ ๋ฐฉ์์ ๊ฐ๊ตฌํ๊ฒ ๋์๋ค. ์ ๋ณด๋ฅผ ์ ์ฅํ ์๋ง ์๋ค๋ฉด ๋ค๋ฅธ ๋ฐฉ์๋ ๊ฐ๋ฅํ๋ค. ๊ทธ๋์ ๋์จ๊ฒ json ํ์ผ ํ์์ด๋ค. json์ ๊ฐ์ฒด ํ์์ผ๋ก xml๋ณด๋ค๋ ๊ฐํธํ ์์ฑ์ด ๊ฐ๋ฅํ๋ค. ํ๋ ๋ ์ฝ๊ฒ ์์ฑํ ์ ์๋ ํ์์ด ๋ฐ๋ก YAML ํ์์ด๋ค. YAML์ ๊ฐ๋ ์ฑ์ด ์ข์์ JSON์ ๋นํด ๊ตฌ์กฐ๊ฐ ๋ณต์กํ์ง๋ง ์ฌ๋์ด ๋ณด๊ธฐ์๋ ์์ฐ์ค๋ฌ์ด ํํ์ด๋ค. ์ด์ ๋ฐ๋ผ YAML์ ์ค์ ํ์ผ์ ๋ชฉ์ ์ผ๋ก ๋ง์ด ์ฐ์ด๊ณ , JSON์ ์ค์ ํ์ผ์ ์ ์ธํ ๋ถ์ผ์์ ๋ชจ๋ ๋๋ฆฌ ์ฐ์ด๊ณ ์๋ค. ์ด๋ฌํ ํ์ผ ํ์๋ค์ ์ํฉ๋ง๋ค ํ์์ ๋ฐ๋ผ์ ์ฌ์ฉํ๋ฉด ๋๋ค..
2020 KAKAO BLIND RECRUITMENT ๋ฌธ์์ด ์์ถ ๋ฌธ์ ๋ฌธ์ ์ค๋ช ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ ๋ฌธ๊ฐ๊ฐ ๋๊ณ ์ถ์ ์ดํผ์น๋ ๋ฌธ์์ด์ ์์ถํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๊ณต๋ถ๋ฅผ ํ๊ณ ์์ต๋๋ค. ์ต๊ทผ์ ๋๋์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ํ ๊ฐ๋จํ ๋น์์ค ์์ถ ๋ฐฉ๋ฒ์ ๋ํด ๊ณต๋ถ๋ฅผ ํ๊ณ ์๋๋ฐ, ๋ฌธ์์ด์์ ๊ฐ์ ๊ฐ์ด ์ฐ์ํด์ ๋ํ๋๋ ๊ฒ์ ๊ทธ ๋ฌธ์์ ๊ฐ์์ ๋ฐ๋ณต๋๋ ๊ฐ์ผ๋ก ํํํ์ฌ ๋ ์งง์ ๋ฌธ์์ด๋ก ์ค์ฌ์ ํํํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ณต๋ถํ๊ณ ์์ต๋๋ค. ๊ฐ๋จํ ์๋ก aabbaccc์ ๊ฒฝ์ฐ 2a2ba3c(๋ฌธ์๊ฐ ๋ฐ๋ณต๋์ง ์์ ํ๋ฒ๋ง ๋ํ๋ ๊ฒฝ์ฐ 1์ ์๋ตํจ)์ ๊ฐ์ด ํํํ ์ ์๋๋ฐ, ์ด๋ฌํ ๋ฐฉ์์ ๋ฐ๋ณต๋๋ ๋ฌธ์๊ฐ ์ ์ ๊ฒฝ์ฐ ์์ถ๋ฅ ์ด ๋ฎ๋ค๋ ๋จ์ ์ด ์์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด, abcabcdede์ ๊ฐ์ ๋ฌธ์์ด์ ์ ํ ์์ถ๋์ง ์์ต๋๋ค. ์ดํผ์น๋ ์ด๋ฌํ ..
์ต๋จ ๊ฒฝ๋ก ๊ทธ๋ํ์์ ์ ๋๋๋ ๋ฌธ์ ๋ค ์ค ์ต๋จ ๊ฒฝ๋ก ๋ฌธ์ ๊ฐ ์๋ค. ์ฃผ์ด์ง ๊ทธ๋ํ์์ ํน์ ์ ์ ์์ ๋ค๋ฅธ ์ ์ ๊น์ง์ ์ต๋จ ๊ฒฝ๋ก(๊ฐ์ค์น ํฉ์ด ์ต์์ธ ๊ฒฝ๋ก)๊ฐ ๋ฌด์์ธ์ง๋ฅผ ์์๋ด๋ ๋ฌธ์ ์ด๋ค. ์ด๋ ์ด์ ์ MST ๋ฌธ์ ์ ๋ค๋ฅด๋ค. ๋ชจ๋ ์ ์ ์ ํฌํจํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ง๋ง MST์์ ์ฌ์ฉํ๋ Prim(Dijkstra) ์๊ณ ๋ฆฌ์ฆ์ ์์ฉํด์ ๊ตฌํํ ์ ์๋ค. [MST] Dijkstra ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ vertice(์ ์ )๋ 3๊ฐ์ง ๋ถ๋ฅ๋ก ๋๋๋ค. tree vertice(T) : tree์ ์ํด ์๋ ์ ์ fringe vertice (F) : tree์ ํฌํจ๋์ง ์์ผ๋ฉด์ ์ฐ๊ฒฐ๋์ด์๋ ์ ์ unseen vertice (U) : ๋๋จธ์ง MST์์ T์ F์ ์ ์ ์ฌ์ด์ ์ต์ ๊ฐ์ค์น๋ฅผ ๊ณ์ ๊ฐฑ์ ํด์ฃผ์๋ ๊ฒ ๋์ ์, ์ต๋จ..
MST Spanning Tree : ๊ทธ๋ํ ๋ด์ ๋ชจ๋ ์ ์ ์ ํฌํจํ๋ ํธ๋ฆฌ ์ฐ์ ํธ๋ฆฌ์ ์ ์๋ connected undirected acyclic graph (์ฐ๊ฒฐ ๋น๋ฐฉํฅ ๋น์ํ ๊ทธ๋ํ)์ด๋ค. ๋ชจ๋ ๋ ธ๋๋ ์ฐ๊ฒฐ๋์ด์์ผ๋ฉฐ, ๋ฐฉํฅ์ฑ์ ์๊ณ ์ํ์ด ์กด์ฌํ์ง ์๋ ๊ทธ๋ํ์ด๋ค. ํ๋์ ๊ทธ๋ํ๊ฐ ์ฃผ์ด์ก์ ๋, ๊ทธ๋ํ ๋ด์์ ์ฌ๋ฌ ํธ๋ฆฌ๋ฅผ ์ฐพ์ ์ ์๋ค. ๊ทธ ์ค ํน๋ณํ๊ฒ ๋ชจ๋ ์ ์ ์ ํฌํจํ๋ ํธ๋ฆฌ๋ฅผ Spanning Tree๋ผ๊ณ ํ๋ค. ๋ค๋ฅด๊ฒ ๋งํ๋ฉด Spanning tree(์ ์ฅ ํธ๋ฆฌ)๋ ๊ทธ๋ํ์ ๋ถ๋ถ ๊ทธ๋ํ๋ฉด์ ๊ฐ์ ์ ์๊ฐ ๊ฐ์ฅ ์ ์(์ต์ ์ฐ๊ฒฐ) ๊ทธ๋ํ์ด๋ค. ๊ฐ์ด ์์จ๋ค๋ฉด ๊ทธ๋ฆผ์ผ๋ก ์ดํด๋ณด์. ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๊ทธ๋ํ๊ฐ ์ฃผ์ด์ก์ ๋, ์ต์ํ์ ๊ฐ์ ์ ์ฌ์ฉํ์ฌ ๋ชจ๋ ์ ์ ์ ํฌํจํ๋ ๋ถ๋ถ ๊ทธ๋ํ๊ฐ ์ฌ๋ฌ ๊ฐ ์กด์ฌํ๋ค. ์ด ๋ถ..
์ฌํ๊ฒฝ๋ก ๋ฌธ์ https://programmers.co.kr/learn/courses/30/lessons/43164 ๋ฌธ์ ์ค๋ช ์ฃผ์ด์ง ํญ๊ณต๊ถ์ ๋ชจ๋ ์ด์ฉํ์ฌ ์ฌํ๊ฒฝ๋ก๋ฅผ ์ง๋ ค๊ณ ํฉ๋๋ค. ํญ์ ICN ๊ณตํญ์์ ์ถ๋ฐํฉ๋๋ค. ํญ๊ณต๊ถ ์ ๋ณด๊ฐ ๋ด๊ธด 2์ฐจ์ ๋ฐฐ์ด tickets๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๋ฐฉ๋ฌธํ๋ ๊ณตํญ ๊ฒฝ๋ก๋ฅผ ๋ฐฐ์ด์ ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ์ฌํญ ๋ชจ๋ ๊ณตํญ์ ์ํ๋ฒณ ๋๋ฌธ์ 3๊ธ์๋ก ์ด๋ฃจ์ด์ง๋๋ค. ์ฃผ์ด์ง ๊ณตํญ ์๋ 3๊ฐ ์ด์ 10,000๊ฐ ์ดํ์ ๋๋ค. tickets์ ๊ฐ ํ [a, b]๋ a ๊ณตํญ์์ b ๊ณตํญ์ผ๋ก ๊ฐ๋ ํญ๊ณต๊ถ์ด ์๋ค๋ ์๋ฏธ์ ๋๋ค. ์ฃผ์ด์ง ํญ๊ณต๊ถ์ ๋ชจ๋ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๋ง์ผ ๊ฐ๋ฅํ ๊ฒฝ๋ก๊ฐ 2๊ฐ ์ด์์ผ ๊ฒฝ์ฐ ์ํ๋ฒณ ์์๊ฐ ์์๋ ๊ฒฝ๋ก๋ฅผ return ํฉ..
Comment