๋จ์ฒด์ฌ์ง ์ฐ๊ธฐ ๋ฌธ์ https://programmers.co.kr/learn/courses/30/lessons/1835 ๋ฌธ์ ์ค๋ช ๊ฐ์์ ๋ง์ ์นด์นด์คํ๋ ์ฆ๋ ๋จ์ฒด๋ก ์ํ์ ๋ ๋ฌ๋ค. ์ฆ๊ฑฐ์ด ์๊ฐ์ ๋ณด๋ด๊ณ ๋ง์ง๋ง์ ๋จ์ฒด์ฌ์ง์ ์ฐ๊ธฐ ์ํด ์นด๋ฉ๋ผ ์์ ์ผ๋ ฌ๋ก ๋๋ํ ์ฐ๋ค. ๊ทธ๋ฐ๋ฐ ๊ฐ์๊ฐ ์ํ๋ ๋ฐฐ์น๊ฐ ๋ชจ๋ ๋ฌ๋ผ ์ด๋ค ์์๋ก ์ค์ง ์ ํ๋๋ฐ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ ธ๋ค. ๋ค์ค๋ ํ๋ก๋์ ๋๋ํ ์๊ธฐ๋ฅผ ์ํ๊ณ , ํ๋ธ๊ฐ ๋ฟ์ ๋ถ์ ๋ง์ ์ ์ด ์๋ ๋ผ์ด์ธ์ ํ๋ธ์๊ฒ์ ์ ์ด๋ ์ธ ์นธ ์ด์ ๋จ์ด์ ธ์ ์๊ธฐ๋ฅผ ์ํ๋ค. ์ฌ์ง์ ์ฐ๊ณ ๋์ ๋์์ค๋ ๊ธธ์, ๋ฌด์ง๋ ๋ชจ๋๊ฐ ์ํ๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด์๋ ๋ค๋ฅด๊ฒ ์๋ ๋ฐฉ๋ฒ์ด ์์ง ์์์๊น ์๊ฐํด๋ณด๊ฒ ๋์๋ค. ๊ฐ ํ๋ ์ฆ๊ฐ ์ํ๋ ์กฐ๊ฑด์ ์ ๋ ฅ์ผ๋ก ๋ฐ์์ ๋ ๋ชจ๋ ์กฐ๊ฑด์ ๋ง์กฑํ ์ ์๋๋ก ์๋ ๊ฒฝ์ฐ์ ์..
์์ฃผํ์ง ๋ชปํ ์ ์ ๋ฌธ์ https://programmers.co.kr/learn/courses/30/lessons/42576# ๋ฌธ์ ์ค๋ช ์๋ง์ ๋ง๋ผํค ์ ์๋ค์ด ๋ง๋ผํค์ ์ฐธ์ฌํ์์ต๋๋ค. ๋จ ํ ๋ช ์ ์ ์๋ฅผ ์ ์ธํ๊ณ ๋ ๋ชจ๋ ์ ์๊ฐ ๋ง๋ผํค์ ์์ฃผํ์์ต๋๋ค. ๋ง๋ผํค์ ์ฐธ์ฌํ ์ ์๋ค์ ์ด๋ฆ์ด ๋ด๊ธด ๋ฐฐ์ด participant์ ์์ฃผํ ์ ์๋ค์ ์ด๋ฆ์ด ๋ด๊ธด ๋ฐฐ์ด completion์ด ์ฃผ์ด์ง ๋, ์์ฃผํ์ง ๋ชปํ ์ ์์ ์ด๋ฆ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ์ฌํญ ๋ง๋ผํค ๊ฒฝ๊ธฐ์ ์ฐธ์ฌํ ์ ์์ ์๋ 1๋ช ์ด์ 100,000๋ช ์ดํ์ ๋๋ค. completion์ ๊ธธ์ด๋ participant์ ๊ธธ์ด๋ณด๋ค 1 ์์ต๋๋ค. ์ฐธ๊ฐ์์ ์ด๋ฆ์ 1๊ฐ ์ด์ 20๊ฐ ์ดํ์ ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ์ฐธ..
์ ๊ตญ์ฌ์ฌ https://programmers.co.kr/learn/courses/30/lessons/43238 ๋ฌธ์ ๋ฌธ์ ์ค๋ช n๋ช ์ด ์ ๊ตญ์ฌ์ฌ๋ฅผ ์ํด ์ค์ ์์ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค. ๊ฐ ์ ๊ตญ์ฌ์ฌ๋์ ์๋ ์ฌ์ฌ๊ด๋ง๋ค ์ฌ์ฌํ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ๋ค๋ฆ ๋๋ค. ์ฒ์์ ๋ชจ๋ ์ฌ์ฌ๋๋ ๋น์ด์์ต๋๋ค. ํ ์ฌ์ฌ๋์์๋ ๋์์ ํ ๋ช ๋ง ์ฌ์ฌ๋ฅผ ํ ์ ์์ต๋๋ค. ๊ฐ์ฅ ์์ ์ ์๋ ์ฌ๋์ ๋น์ด ์๋ ์ฌ์ฌ๋๋ก ๊ฐ์ ์ฌ์ฌ๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค. ํ์ง๋ง ๋ ๋นจ๋ฆฌ ๋๋๋ ์ฌ์ฌ๋๊ฐ ์์ผ๋ฉด ๊ธฐ๋ค๋ ธ๋ค๊ฐ ๊ทธ๊ณณ์ผ๋ก ๊ฐ์ ์ฌ์ฌ๋ฅผ ๋ฐ์ ์๋ ์์ต๋๋ค. ๋ชจ๋ ์ฌ๋์ด ์ฌ์ฌ๋ฅผ ๋ฐ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ์ต์๋ก ํ๊ณ ์ถ์ต๋๋ค. ์ ๊ตญ์ฌ์ฌ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ์ฌ๋ ์ n, ๊ฐ ์ฌ์ฌ๊ด์ด ํ ๋ช ์ ์ฌ์ฌํ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ๋ด๊ธด ๋ฐฐ์ด times๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๋ชจ๋ ์ฌ..
์ต๋ ์ต์ ์ฐพ๊ธฐ ์ ํ ๋ฌธ์ ์ฃผ์ด์ง ๋ฆฌ์คํธ์ ์ต๋, ์ต์ ๊ฐ์ ์ฐพ๊ฑฐ๋ n๋ฒ์งธ ํฐ ๊ฐ, n๋ฒ์งธ ์์ ๊ฐ์ ์ฐพ๋ ๊ณผ์ ๋ ํ๋ก๊ทธ๋จ์์ ๋ง์ด ๋ฑ์ฅํ๋ค. ์ด๋ ๊ฒ n๊ฐ์ ์ซ์๋ค ์ค k๋ฒ์งธ๋ก ์์(๋๋ ํฐ) ๊ฐ์ ์ฐพ๋ ๋ฌธ์ ๋ฅผ 'Selection problem' ์ฆ, ์ ํ ๋ฌธ์ ๋ผ๊ณ ํ๋ค. ์ต๋ ์ต์ ์ฐพ๊ธฐ ์ ํ ๋ฌธ์ ์์ ๊ฐ์ฅ ์ฌ์ด ๋ฌธ์ ๊ฐ ์ต๋ / ์ต์๋ฅผ ์ฐพ๋ ๋ฌธ์ ์ด๋ค. ์ฃผ์ด์ง ๋ฆฌ์คํธ์ ์ต๋๊ฐ์ ์ฐพ๊ธฐ ์ํด์๋ ์ด๋ค ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด ๋ ๊น? ์ ๋ ฌ ๋จผ์ , ์ด์ ์ ๋ฐฐ์ ๋ ์ ๋ ฌ์ ์ด์ฉํ ์ ์๋ค. ์ ๋ ฌ ํ ๋ฆฌ์คํธ์ ๋ง์ง๋ง ์์๋ฅผ ๊ฐ์ ธ์ค๋ฉด ์ต๋๊ฐ์ ์ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ง๋ง ์ค๊ฐ ์์๋ค์ ์ ๋ ฌ์ ์ต๋๊ฐ์ ์ฐพ๋๋ฐ์ ๋ถํ์ํ ๊ณผ์ ์ด๋ค. ๋ฐ๋ผ์ ์ ๋ ฌ์ ์ด์ฉํ๋ฉด ์ ๋ ฌ์ ์ต์ ์๊ฐ๋ณต์ก๋์ธ O(nlgn)๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค. min/..
ํ์ ํ์์ ์ฃผ์ด์ง ์๋ฃ๋ค ์ค ์ํ๋ ์กฐ๊ฑด์ ํด๋นํ๋ ์๋ฃ๋ฅผ ์ฐพ๋ ๊ณผ์ ์ด๋ค. ์ปดํจํฐ์์ ํ์์ ์์ฃผ ์ด๋ฃจ์ด์ง๋ฏ๋ก ํจ์จ์ ์ธ ๋ฐฉ์์ผ๋ก ์ํํ๋ ๊ฒ์ด ์ค์ํ๋ค. ์ด์ ์ ๋ฐฐ์ ๋ '์ ๋ ฌ'์ ํ์์ ์ํํ ์ ์๋ ๋ฐฉ๋ฒ ์ค ํ๋์ด๋ค. ์ ๋ ฌ์ ๋ฆฌ์คํธ๋ฅผ ํ๋์ ๊ธฐ์ค์ผ๋ก ๋ํ๋ด๊ธฐ ์ํด์๋ ์ฐ์ด์ง๋ง ์ํ๋ ์๋ฃ๋ฅผ ๋น ๋ฅด๊ฒ ํ์ํ๊ธฐ ์ํด ์ฐ์ด๊ธฐ๋ ํ๋ค. ๋ฌผ๋ก ๊ตณ์ด ์ ๋ ฌ์ด ์๋๋๋ผ๋ ํ์์ ์ํํ ์ ์๋ ๋ฐฉ๋ฒ์ ์๋ค. ์ ๋ ฌ ๋ณด๊ธฐ ์์ผ๋ก ์๊ฐํ ํ์์ ๋ค์์ 4๊ฐ์ง ์ข ๋ฅ์ด๋ค. ์ ํํ์ ์ด์งํ์ ํด์ํ์ BST ํ์์ ์ํด์๋ ๋ฐฐ์ด, ์ฐ๊ฒฐ ๋ฆฌ์คํธ, ํธ๋ฆฌ, ๊ทธ๋ํ ๋ฑ ๋ค์ํ ์๋ฃ๊ตฌ์กฐ๊ฐ ์ฌ์ฉ๋๋ฉฐ, ์ํฉ์ ๋ฐ๋ผ ๋ง์ถฐ์ ์ฌ์ฉํ๋ฉด ๋๋ค. ์๋ฃ๊ตฌ์กฐ ๋ณด๊ธฐ ์ ํ ํ์ ์์ฐจ ํ์์ด๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ ์ ํ ํ์์ ๊ฐ์ฅ ๊ฐ๋จํ ํ์ ๋ฐฉ๋ฒ์ด๋ค. ์ ํ ํ์..
BST BST(Binary Search Tree)๋ ํธ๋ฆฌ์ ํ ์ข ๋ฅ์ด์ ์ด์งํ์์ ์ํ ๋ฐฉ๋ฒ ์ค ํ๋์ด๋ค. ๊ณผ์ BST๋ฅผ ์ด์ฉํ ํ์์์๋ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ๊ฑฐ์น๋ค. ์ด์ง ํ์ ํธ๋ฆฌ ๋ง๋ค๊ธฐ (์์ฑ) ๋ฃจํธ ๋ ธ๋์์ ๋ด๋ ค๊ฐ๋ฉด์ ์ํ๋ ์์ ์ฐพ๊ธฐ (ํ์) ์ญ์ ๋ฐ ์ฝ์ ํ๊ธฐ (์ญ์ / ์ฝ์ ) ์์ ๋จผ์ ์ด์ง ํ์ ํธ๋ฆฌ๋ฅผ ๋ง๋ค์ด๋ณด์. ์ด์ง ํ์ ํธ๋ฆฌ๋ ๋ถ๋ชจ ๋ ธ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ ์๋ธํธ๋ฆฌ์๋ ๋ ์์ ๊ฐ์ ๋ ธ๋๊ฐ ์ค๋ฅธ์ชฝ ์๋ธํธ๋ฆฌ์๋ ๋ ํฐ ๊ฐ์ ๋ ธ๋๊ฐ ์์ด์ผํ๋ค. ๋ฐ๋ผ์ ์์๋ฅผ ํ๋์ฉ ์ฝ์ ํ๋ฉด์ ์๋ง์ ์์น๋ฅผ ์ฐพ์์ฃผ๋ฉด ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋์จ ์ด์ง ํ์ ํธ๋ฆฌ๋ฅผ ์ค์ ์ํํ๋ฉด ์ ๋ ฌ๋ ๋ฆฌ์คํธ๊ฐ ๋๋ค. ๊ทธ ๋ค์์๋ ๋ฃจํธ ๋ ธ๋์์ ๋ด๋ ค๊ฐ๋ฉด์ ์ํ๋ ์์๋ฅผ ์ฐพ๊ณ ์ญ์ ํด๋ณด์. ์ํ๋ ์์๋ 6์ด๋ค. ์ผ์ชฝ ๊ทธ๋ฆผ์์ ์ค๋ฅธ์ชฝ ๊ทธ..
H-index ๋ฌธ์ https://programmers.co.kr/learn/courses/30/lessons/42747# ๋ฌธ์ ์ค๋ช H-Index๋ ๊ณผํ์์ ์์ฐ์ฑ๊ณผ ์ํฅ๋ ฅ์ ๋ํ๋ด๋ ์งํ์ ๋๋ค. ์ด๋ ๊ณผํ์์ H-Index๋ฅผ ๋ํ๋ด๋ ๊ฐ์ธ h๋ฅผ ๊ตฌํ๋ ค๊ณ ํฉ๋๋ค. ์ํค๋ฐฑ๊ณผ1์ ๋ฐ๋ฅด๋ฉด, H-Index๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํฉ๋๋ค. ์ด๋ค ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ nํธ ์ค, h๋ฒ ์ด์ ์ธ์ฉ๋ ๋ ผ๋ฌธ์ด hํธ ์ด์์ด๊ณ ๋๋จธ์ง ๋ ผ๋ฌธ์ด h๋ฒ ์ดํ ์ธ์ฉ๋์๋ค๋ฉด h์ ์ต๋๊ฐ์ด ์ด ๊ณผํ์์ H-Index์ ๋๋ค. ์ด๋ค ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ์ ์ธ์ฉ ํ์๋ฅผ ๋ด์ ๋ฐฐ์ด citations๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ด ๊ณผํ์์ H-Index๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ์ฌํญ ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ์ ์๋ 1ํธ..
K๋ฒ์งธ ์ ๋ฌธ์ https://programmers.co.kr/learn/courses/30/lessons/42748 ๋ฌธ์ ์ค๋ช ๋ฐฐ์ด array์ i๋ฒ์งธ ์ซ์๋ถํฐ j๋ฒ์งธ ์ซ์๊น์ง ์๋ฅด๊ณ ์ ๋ ฌํ์ ๋, k๋ฒ์งธ์ ์๋ ์๋ฅผ ๊ตฌํ๋ ค ํฉ๋๋ค. ์๋ฅผ ๋ค์ด array๊ฐ [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3์ด๋ผ๋ฉด array์ 2๋ฒ์งธ๋ถํฐ 5๋ฒ์งธ๊น์ง ์๋ฅด๋ฉด [5, 2, 6, 3]์ ๋๋ค. 1์์ ๋์จ ๋ฐฐ์ด์ ์ ๋ ฌํ๋ฉด [2, 3, 5, 6]์ ๋๋ค. 2์์ ๋์จ ๋ฐฐ์ด์ 3๋ฒ์งธ ์ซ์๋ 5์ ๋๋ค. ๋ฐฐ์ด array, [i, j, k]๋ฅผ ์์๋ก ๊ฐ์ง 2์ฐจ์ ๋ฐฐ์ด commands๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, commands์ ๋ชจ๋ ์์์ ๋ํด ์์ ์ค๋ช ํ ์ฐ์ฐ์ ์ ์ฉํ์ ๋ ๋์จ ๊ฒฐ๊ณผ๋ฅผ ๋ฐฐ์ด์ ๋ด์..
Comment