๐ช Programming
[JS] ๋ฐ๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ๋ง๋ฆฌ์ค ๋ฌ๋ ๊ฒ์ ๊ตฌํํ๊ธฐ
[JS] ๋ฐ๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ๋ง๋ฆฌ์ค ๋ฌ๋ ๊ฒ์ ๊ตฌํํ๊ธฐ
2024.05.29๋ฌ๋ ๊ฒ์(๋ฌ๋ฆฌ๊ธฐ ๊ฒ์)์ ํ๋ ์ด์ด๊ฐ ์๋์ผ๋ก ์ ์งํ๋ฉด์ ์ฅ์ ๋ฌผ์ ํํผํ๊ณ , ์ ์๋ฅผ ํ๋ํ๋ ๊ฒ์ ์ ํ์ด๋ค. ๊ฐ๋จํ ๋ฌ๋ ๊ฒ์์ ์บ๋ฒ์ค ์์ด JavaScript, HTML, CSS ๋ง์ผ๋ก๋ ๊ตฌํํ ์ ์๋ค. ๋ฌ๋ ๊ฒ์ ๊ตฌํ์ ํฌ๊ฒ โ ์ด๋(์ ์ง), โก์ ํ, โข์ฅ์ ๋ฌผ ๋ฐฐ์น, โฃ์ฅ์ ๋ฌผ ์ถฉ๋ ๊ฐ์ง๋ก ๋๋ ์ ์๋ค. ์ํผ ๋ง๋ฆฌ์ค๋ ํ๋ ์ด์ด๊ฐ ์บ๋ฆญํฐ๋ฅผ ์ง์ ์กฐ์ข
ํ๋ ํ๋ซํฌ๋จธ ์ฅ๋ฅด์ ์ํ์ง๋ง ์น์ํ ๋ง๋ฆฌ์ค ์บ๋ฆญํฐ์ ๊ตฌ์กฐ๋ฌผ์ ์ด์ฉํด์ ๋ฌ๋ ๊ฒ์์ผ๋ก ๋ง๋ค์ด๋ณด์. ์ฑ๊ธํค DOM ๊ด๋ฆฌ๋๋ณด๊ธฐ// dom-manager.jsclass DomManager { static instance = null; constructor() { // ์์ฑ์ ํจ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ก ์์ฑ๋ ์ธ์คํด์ค(this)๋ฅผ ๋ฐํํ์ง๋ง ๋ช
์์ ์ผ๋ก ๋ฐํ ..
[HTML] select, option ํ๊ทธ ์ฃผ์ ์์ฑ๊ณผ ํน์ง
[HTML] select, option ํ๊ทธ ์ฃผ์ ์์ฑ๊ณผ ํน์ง
2024.05.29Option ์์ฑ์ ํจ์ | MDN๐ก HTML ์ต์
ํ๊ทธ์ selected ์ดํธ๋ฆฌ๋ทฐํธ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์ ๊ทผํ๋ option.selected ์์ฑ(ํ๋กํผํฐ)์ ์๋ก ๋
๋ฆฝ์ ์ธ ๊ธฐ๋ฅ์ ๊ฐ์ง๋ค. ์ต์
ํ๊ทธ์ selected ์ดํธ๋ฆฌ๋ทฐํธ๋ ์ด๊ธฐ ์ ํ ์ํ๋ฅผ ๋ํ๋ด๊ณ , option.selected ์์ฑ์ ํ์ฌ ์ ํ ์ํ๋ฅผ ๋ฐ์ํ๊ณ ์ ์ดํ๋๋ฐ ์ฌ์ฉํ๋ค.// Option ์์ฑ์๋ฅผ ์ฌ์ฉํ๋ฉด document.createElement() ๋ณด๋ค ๋ ๊ฐ๊ฒฐํ๊ฒ ์์ฑํ ์ ์๋คnew Option(text?, value?, defaultSelected?, selected?) โผ๏ธ text : ์ต์
์์์ ํ์ํ ํ
์คํธ | ๊ธฐ๋ณธ๊ฐ "" ๋น ๋ฌธ์์ดtext์ ์ง์ ํ ๊ฐ์ option.textContent๋ก ์ค์ ๋๋ค.โผ๏ธ value : ์ต..
[Algorithm] ์์ด / ์กฐํฉ ๊ฐ๋
๊ณผ ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ
[Algorithm] ์์ด / ์กฐํฉ ๊ฐ๋ ๊ณผ ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ
2024.05.28์์ด Permutation๊ฐ๋
์์ด์ ์๋ก ๋ค๋ฅธ n๊ฐ ์์ ์ค์์ r๊ฐ๋ฅผ ์ ํํ์ฌ ์์๋๋ก ๋์ดํ๋ ๋ฐฉ๋ฒ์ ์๋ฏธํ๋ค. ์์ด์์ ์์๊ฐ ๊ฒฐ๊ณผ์ ์ํฅ์ ๋ฏธ์น๊ธฐ ๋๋ฌธ์ ์์๊ฐ ์ค์ํ๋ค. ๋์ผํ ์์๋ฅผ ์๋ก ๋ค๋ฅธ ์์๋ก ๋์ดํ๋ฉด, ๊ฐ๊ฐ์ ๋ณ๊ฐ์ ์์ด๋ก ๊ฐ์ฃผํ๋ค. ์๋ฅผ ๋ค์ด A, B, C์์ A, B ๋ ์์๋ฅผ ์ ํํ๋ ๊ฒฝ์ฐ AB์ BA๋ ์๋ก ๋ค๋ฅธ ์์ด์ด๋ค. A ์ ํ, ๋จ์ ๊ธ์ B, CB ์ ํ, ๋จ์ ๊ธ์ C (2์๋ฆฌ ์์ด์ด๋ฏ๋ก ๋ฌด์) → ABC ์ ํ, ๋จ์ ๊ธ์ B (2์๋ฆฌ ์์ด์ด๋ฏ๋ก ๋ฌด์) → ACB ์ ํ, ๋จ์ ๊ธ์ A, CA ์ ํ, ๋จ์ ๊ธ์ C (2์๋ฆฌ ์์ด์ด๋ฏ๋ก ๋ฌด์) → BAC ์ ํ, ๋จ์ ๊ธ์ A (2์๋ฆฌ ์์ด์ด๋ฏ๋ก ๋ฌด์) → BCC ์ ํ, ๋จ์ ๊ธ์ A, BA ์ ํ, ๋จ์ ๊ธ์ B (2์๋ฆฌ ์์ด..
[React] ๋ฆฌ์กํธ์์ setTimeout ๋ ํธํ๊ฒ ์ฐ๊ธฐ
[React] ๋ฆฌ์กํธ์์ setTimeout ๋ ํธํ๊ฒ ์ฐ๊ธฐ
2024.05.28React์์ setTimeout ๊ฐ์ ํ์ด๋จธ API๋ฅผ ์ฌ์ฉํ ๋ ์ปดํฌ๋ํธ์ ์๋ช
์ฃผ๊ธฐ๋ฅผ ๊ณ ๋ คํ์ง ์์ผ๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋์๋ ์๊ธฐ์น ์์ ์์ธ๊ฐ ๋ฐ์ํ ์ ์๋ค. ์๋ฅผ ๋ค์ด ํ์ด๋จธ๋ฅผ ์ค์ ํ ํ ์ปดํฌ๋ํธ๊ฐ ์ธ๋ง์ดํธ๋ผ๋ ํ์ด๋จธ๋ ์ฌ์ ํ ์คํ๋๊ณ , ์ดํ ํ์ด๋จธ ์ฝ๋ฐฑ์์ ์ธ๋ง์ดํธ๋ ์ปดํฌ๋ํธ์ ์ํ๋ฅผ ์
๋ฐ์ดํธํ๋ ค๊ณ ํ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ ์ ์๋ค. ์ ๊ฐ์ ์ํฉ์ ๋ฐฉ์งํ๊ธฐ ์ํด useEffect์ ํด๋ฆฐ์
ํจ์์ ํ์ด๋จธ ํด์ ๋ก์ง์ ์ถ๊ฐํ๋ค. ํ์ง๋ง ํ ์ปดํฌ๋ํธ์์ ์ฌ๋ฌ ํ์ด๋จธ๋ฅผ ๊ด๋ฆฌํด์ผ ํ๋ค๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋์ ๋ฟ๋ง ์๋๋ผ ํ์ด๋จธ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋ก์ง ๋๋ฌธ์ ์ปดํฌ๋ํธ์ ๋ณต์ก์ฑ์ด ๋์์ง ์ ์๋ค. ๋ง์ฝ ๋ณ๋์ ์ปค์คํ
ํ
์์ ํ์ด๋จธ๋ฅผ ๊ด๋ฆฌํ๊ณ , ์ปค์คํ
ํ
์ด ์ธ๋ง์ดํธ ๋ ๋ ๋ชจ๋ ํ์ด๋จธ๋ฅผ ์๋์ผ๋ก ํด์ ํ๋ค๋ฉด ํด๋น ํ
์ ์ฌ์ฉํ๋ ๊ณณ์์ ..
[React] ํฌ๋กฌ ํ์ฅ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ๋ฐฐ๊ฒฝ ์ง์ ๋ฐ ํํ ๋ฆฌ์ผ
[React] ํฌ๋กฌ ํ์ฅ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ๋ฐฐ๊ฒฝ ์ง์ ๋ฐ ํํ ๋ฆฌ์ผ
2024.05.28ํฌ๋กฌ ํ์ฅ๊ธฐ๋ฅ ์ฃผ์ ๊ธฐ๋ฅ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ฌ์ฉ์ํ : ๋ธ๋ผ์ฐ์ ํด๋ฐ์ ๋ฒํผ ์ถ๊ฐ, ์ฌ์ฉ์ ์ ์ ํ์
/์ค๋ฒ๋ ์ด ์์ฑ ๋ฑ์ฝํ
์ธ ์คํฌ๋ฆฝํธ : ์นํ์ด์ง์ ์ง์ ์คํฌ๋ฆฝํธ๋ฅผ ์ฝ์
ํ์ฌ DOM ์กฐ์ ๊ฐ๋ฅ๋ฐฑ๊ทธ๋ผ์ด๋ ์คํฌ๋ฆฝํธ : ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์ฉํ๋ ๋์ ์ง์์ ์ผ๋ก ์คํ๋ผ์ ํ์ํ ๊ธฐ๋ฅ ์ ๊ณตAPI ์ ๊ทผ : ๋ถ๋งํฌ/ํญ/์๋์ฐ ๊ด๋ฆฌ, ํ์คํ ๋ฆฌ ์กฐ์ ๋ฑ ๋ธ๋ผ์ฐ์ ์ ๋ค์ํ ์์ญ ์ ๊ทผ ๊ฐ๋ฅ๐ ํญ ์ด๋, capture, zoom ๋ฑ ๋ค์ํ ๋ฐฉ์์ผ๋ก ์ ์ด ๊ฐ๋ฅ๋ฉ์์ง ์์คํ
: ํ์ฅ ๊ธฐ๋ฅ์ ๋ค๋ฅธ ์ปดํฌ๋ํธ ํน์ ์นํ์ด์ง์ ๋ฉ์์ง ๊ตํ ๊ฐ๋ฅ์น ์์ฒญ ์กฐ์ : ๋คํธ์ํฌ ์์ฒญ ๊ฐ๋ก์ฑ๊ธฐ, ๊ด๊ณ ์ฐจ๋จ, ํ๋ผ์ด๋ฒ์ ๋ณดํธ, ์น ํธ๋ํฝ ๊ด๋ฆฌ ๋ฑ๐ chrome.webRequest API๋ก http ์์ฒญ์ ๊ฐ๋ก์ฑ๊ฑฐ๋ request header ์์ ๊ฐ๋ฅ์ฌ..
[Algorithm] ์๋ฐ์คํฌ๋ฆฝํธ Map์ผ๋ก ๊ตฌํํ๋ LRU Cache ์๊ณ ๋ฆฌ์ฆ
[Algorithm] ์๋ฐ์คํฌ๋ฆฝํธ Map์ผ๋ก ๊ตฌํํ๋ LRU Cache ์๊ณ ๋ฆฌ์ฆ
2024.05.28LRU ์บ์ ํน์ง์บ์(Cache)๋ ๋ฐ์ดํฐ๋ ์ฐ์ฐ ๊ฒฐ๊ณผ๋ฅผ ์ผ์์ ์ผ๋ก ์ ์ฅํ๋ ๊ฒ์ ๊ฐ๋ฆฌํจ๋ค. ์์ฃผ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ ์ฐ์ฐ ๊ฒฐ๊ณผ๋ฅผ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๋ณด๊ดํด์ ๋์ผํ ์ ๋ณด๋ฅผ ์์ฒญ๋ฐ์์ ๋ ๋ ๋น ๋ฅธ ์๋๋ก ์ ๊ณตํ ์ ์๋ค. LRU ์บ์๋ ๋ํ์ ์ธ ์บ์ ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋๋ก ์ ํ๋ ์ ์ฅ ๊ณต๊ฐ์ ๊ด๋ฆฌํ๊ธฐ ์ํด ๊ฐ์ฅ ์ค๋์ ์ ์ฌ์ฉํ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. LRU๋ Least Recently Used์ ์ฝ์๋ก ์ฌ์ฉํ์ง ๊ฐ์ฅ ์ค๋๋ ์ ๋๋ก ํด์ํ ์ ์๋ค. LRU ์บ์์์ ์กฐํ/์ฐ๊ธฐ์ ํด๋น ๊ฐ์ ๊ฐ์ฅ ์ต๊ทผ์ ์ฌ์ฉํ ๊ฒ์ผ๋ก ์ฒ๋ฆฌํ๋๊ฒ ํต์ฌ์ด๋ค. ์๋ฐ์คํฌ๋ฆฝํธ Map ๋ฑ์ ์ด์ฉํด์ ๊ตฌํํ ๋ ๊ฐ์ด ๋ค์ ์์นํ ์๋ก ๊ฐ์ฅ ์ต๊ทผ์ ์ฌ์ฉํ ๊ฒ์ผ๋ก ํ์ํ๋ค. ์กฐํ : ์บ์์ ๊ฐ์ด ์กด์ฌํ๋ฉด ํด๋น ๊ฐ์ ์บ์ ๋ง์ง๋ง(์ต์ )์ผ๋ก ์ด๋..
[Algorithm] ์ต์ ํ(Heap)์ผ๋ก ์ฐ์ ์์ ํ ๊ตฌํํ๊ธฐ
[Algorithm] ์ต์ ํ(Heap)์ผ๋ก ์ฐ์ ์์ ํ ๊ตฌํํ๊ธฐ
2024.05.28ํ์ ํน์ง์ต๋จ ๊ฒฝ๋ก๋ฅผ ์ฐพ์ ๋ ๋๋ฆฌ ์ฌ์ฉํ๋ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์, ํ์ ํ์ ์๋ฃ๊ตฌ์กฐ๊ฐ ์ ์ฒด ์ฑ๋ฅ์ ๊ฒฐ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น๋ค. ๋๋ฌธ์ ์ถ๊ฐ/์ญ์ ๋ฅผ ๋น ๋ฅด๊ฒ ์ํํ ์ ์๋ ์ฐ์ ์์ ํ๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ๋ค. ์ฐ์ ์์ ํ๋ ์ผ๋ฐ ํ์ ๋น์ทํ์ง๋ง, ๊ฐ ์์๊ฐ ์ฐ์ ์์๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ์ฐ์ ์์๊ฐ ๋์ ์์๊ฐ ๋จผ์ ์ถ๋ ฅ๋๋ค๋ ์ ์ด ๋ค๋ฅด๋ค. ์ฐ์ ์์ ํ๋ ํฌ๊ฒ ๋ฐฐ์ด, ์ฐ๊ฒฐ๋ฆฌ์คํธ, ํ ์ด๋ ๊ฒ ์ธ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌํํ ์ ์๋ค. ๊ทธ์ค ์์ ์ด์ง ํธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋ ํ์ผ๋ก ๊ตฌํํ๋ฉด ์ถ๊ฐ/์ ๊ฑฐ์ ํจ์จ์ฑ์ด ํฌ๊ฒ ํฅ์๋๋ค. ๊ตฌํ ๋ฐฉ๋ฒ์ฝ์
์ญ์ ์์ ์๋ ๋ฐฐ์ดO(1)O(n)์์ ์๋ ์ฐ๊ฒฐ๋ฆฌ์คํธO(1)O(n)์ ๋ ฌ๋ ๋ฐฐ์ดO(n)O(1)์ ๋ ฌ๋ ์ฐ๊ฒฐ๋ฆฌ์คํธO(n)O(1)ํO(log n)O(log n) ์ด์ง ํธ๋ฆฌ๋ ๊ฐ ๋ถ๋ชจ ๋
ธ๋๊ฐ ์ผ์ชฝ/์ค๋ฅธ์ชฝ ์ต..
[Algorithm] ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ — ์ต๋จ ๊ฒฝ๋ก ์ฐพ๊ธฐ
[Algorithm] ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ — ์ต๋จ ๊ฒฝ๋ก ์ฐพ๊ธฐ
2024.05.28๋ฌธ์ ๋ถ์ํ๋ก๊ทธ๋๋จธ์ค ๋ ๋ฒจ 2์ ๋ฐฐ๋ฌ ๋ฌธ์ (12978)๋ ๋ง์ ๊ฐ์ N, ๋ ๋ง์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ ์ ๋ณด road, ๋ฐฐ๋ฌ ๊ฐ๋ฅํ ์๊ฐ(๊ฑฐ๋ฆฌ) K๋ฅผ ์ธ์๋ก ๋ฐ์, 1๋ฒ ๋ง์์ ์๋ ์์์ ์ด K์ดํ ์๊ฐ์ ๋ฐฐ๋ฌํ ์ ์๋ ๋ง์์ ๊ฐ์๋ฅผ ๋ฐํํด์ผ ํ๋ค. ๋ง์ ๊ฐ์ N : 1 ≤ N ≤ 50๊ฑฐ๋ฆฌ ์ ๋ณด : [[a, b, c], [...]]a b : ๋ ๋ง์์ ๋ฒํธc : ๋ ๋ง์์ ๊ฑฐ๋ฆฌ(์๊ฐ)๋ฐฐ๋ฌ ๊ฐ๋ฅํ ์๊ฐ K : 1 ≤ K ≤ 500,000 ์ ๋ง์ ์ด๋ฏธ์ง๋ฅผ ๊ธฐ์ค์ผ๋ก 1๋ฒ๋ถํฐ 5๋ฒ ๋ง์๊น์ง ์ต์ ๋ฐฐ๋ฌ ์๊ฐ์ [๋ฒํธ, ์๊ฐ] ๋ฐฐ์ด ํํ๋ก ๋ํ๋ด๋ฉด ์๋์ ๊ฐ๋ค. ๋ง์ฝ ๋ฐฐ๋ฌ ๊ฐ๋ฅํ ์๊ฐ K๊ฐ 3์ด๋ผ๋ฉด 1, 2, 4, 5๋ฒ ๋ง์์ด ๋ชจ๋ 3์๊ฐ ์ดํ์ฌ์ ์ ๋ต์ 4๊ฐ ๋๋ค. ์ด์ฒ๋ผ 1๋ฒ ๋ง์์์ ๋ค๋ฅธ ๋ชจ๋ ๋ง์๊น์ง ์์๋๋ ..
[CS] ์ปดํจํฐ์ ์ค์(Real Number) ํํ - ๊ณ ์ ์์์ , ๋ถ๋ ์์์ , ์ง์ ํ๊ธฐ๋ฒ, ์ ๊ทํ ์ด ์ ๋ฆฌ
[CS] ์ปดํจํฐ์ ์ค์(Real Number) ํํ - ๊ณ ์ ์์์ , ๋ถ๋ ์์์ , ์ง์ ํ๊ธฐ๋ฒ, ์ ๊ทํ ์ด ์ ๋ฆฌ
2024.05.27์ค์๋ฅผ 2์ง์๋ก ๋ณํํ๊ธฐ2์ง์๋ 0๊ณผ 1, ๋ ๊ฐ์ ์ซ์๋ง์ ์ฌ์ฉํ์ฌ ์ ๋ณด๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ปดํจํฐ๋ ๋ด๋ถ์ ์ผ๋ก 2์ง์๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ฒ๋ฆฌํ๋ค. ๋นํธ(bit)๋ binary digit์ ์ค์๋ง๋ก ์ด์ง ์ซ์ ์ฒด๊ณ์ ๊ธฐ๋ณธ ๋จ์์ด๋ค. ๊ฐ ๋นํธ๋ 0 ๋๋ 1์ ๊ฐ์ ๊ฐ์ง ์ ์๋ค. ์ ์์ผ์์ํ์์ ์ฌ์ฉํ๋ 10์ง์ ์ซ์ 100์ 2์ง์๋ก ๋ณํํ๋ ค๋ฉด, ๋ชซ์ด 0์ด ๋ ๋๊น์ง 2๋ก ๋๋๊ณ , ๋ง์ง๋ง์ ๋์จ ๋๋จธ์ง๋ถํฐ(์ญ์์ผ๋ก) ๋์ดํ๋ฉด ๋๋ค. ์ ํ ์์์ ์๋ ์์ฒ๋ผ ๊ฐ๋จํ๊ฒ ๋ณํํ ์ ์์ง๋ง, 0.5, 0.33 ๊ฐ์ ์ค์๋ฅผ ๋ณํํ๋ ค๋ฉด ๋ ๋ณต์กํ ๊ณผ์ ์ด ํ์ํ๋ค.์๋ฅผ ๋ค์ด 10์ง์ 68.625๋ฅผ 2์ง์๋ก ๋ณํํ๋ ค๋ฉด ์ซ์๋ฅผ ์ ์๋ถ์ ์์๋ถ๋ก ๋ถ๋ฆฌํด์ผ ํ๋ค. 10์ง์ 68.625์ ์ ์๋ถ๋ 68, ์์๋ถ..
[Algorithm] ์ ํด๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ / ์์ธ์๋ถํด๋ก ์ต์๊ณต๋ฐฐ์ ์ต๋๊ณต์ฝ์ ๊ณ์ฐํ๊ธฐ
[Algorithm] ์ ํด๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ / ์์ธ์๋ถํด๋ก ์ต์๊ณต๋ฐฐ์ ์ต๋๊ณต์ฝ์ ๊ณ์ฐํ๊ธฐ
2024.05.26N๊ฐ์ ์ต์๊ณต๋ฐฐ์ํ๋ก๊ทธ๋๋จธ์ค ๋ ๋ฒจ 2์ 12953๋ฒ ๋ฌธ์ ๋ N๊ฐ์ ์ต์๊ณต๋ฐฐ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ๋ค. ์ต์๊ณต๋ฐฐ์๋ ์
๋ ฅ๋ ๋ ์์ ๋ฐฐ์ ์ค ๊ณตํต์ด ๋๋ ๊ฐ์ฅ ์์ ์ซ์๋ฅผ ์๋ฏธํ๋ค. ์๋ฅผ๋ค์ด 2์ 7์ ์ต์๊ณต๋ฐฐ์๋ 14๊ฐ ๋๋ค. ์ฃผ์ด์ง ๋ฐฐ์ด(arr)์์ ๊ฐ์ฅ ํฐ ์์ ๋ฐฐ์๋ฅผ ๋๋จธ์ง ์์์ ๋๋ด์ ๋ ๋ชจ๋ 0์ด ๋๋ ์๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ผ๋ก ํ์์ง๋ง, ๋งค๋ฒ ํฐ ์๋ฅผ ์ ์ธํ ๋ฐฐ์ด์ ๋ชจ๋ ์ซ์๋ฅผ ํ๋์ฉ ๋๋ ๋ด์ผ ํ๊ธฐ ๋๋ฌธ์ ํจ์จ์ ์ด์ง ์๋ค. ๋ฐฐ์ด ์ ๋ ฌ์ ์ ์ธํ๊ณ ๋ฐฐ์ด ๊ธธ์ด๊ฐ n, while๋ฌธ์ ๋ฐ๋ณต ํ์๊ฐ x์ด๋ผ๊ณ ํ์ ๋ ์๊ฐ๋ณต์ก๋๋ $O(n \cdot x)$๊ฐ ๋๋ค.function solution(arr) { const sortedArray = arr.sort((a, b) => b - a); const [bigges..
[TS] ํ์
์คํฌ๋ฆฝํธ ๊ตฌ์กฐ์ ํ์ดํ ํ์ฉํ๊ธฐ
[TS] ํ์ ์คํฌ๋ฆฝํธ ๊ตฌ์กฐ์ ํ์ดํ ํ์ฉํ๊ธฐ
2024.05.25Object.keys ๋ฉ์๋์ ํ์
์ ์ํ์
์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๋ค ๋ณด๋ฉด ์๋ ๊ฐ์ ์ํฉ์ ์์ฃผ ๋ง์ฃผํ๋ค. Object.keys() ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ๊ฐ์ฒด์ ํค๋ฅผ ๋ฐฐ์ด๋ก ์ถ์ถํ ํ, ํด๋น ํค๋ฅผ ์ด์ฉํด ๊ฐ์ฒด์ ์ ๊ทผํ ๋ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.type Options = { host: string; port: number };const validateOptions = (options: Options) => { const keys = Object.keys(options); // string[] keys.forEach((key) => { // Error! 'Options' ํ์์์ 'string' ํ์์ ๋งค๊ฐ ๋ณ์๊ฐ ํฌํจ๋ ์ธ๋ฑ์ค ์๊ทธ๋์ฒ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค. if (options[key] === null) ..
[Algorithm] ๋
๋ฐ๋จน๊ธฐ ์๊ณ ๋ฆฌ์ฆ / ๋์ ๊ณํ๋ฒ
[Algorithm] ๋ ๋ฐ๋จน๊ธฐ ์๊ณ ๋ฆฌ์ฆ / ๋์ ๊ณํ๋ฒ
2024.05.25๋์ ๊ณํ๋ฒ๋์ ๊ณํ๋ฒ(Dynamic Programming, DP)์ ๋ณต์กํ ๋ฌธ์ ๋ฅผ ๋ ์์ ํ์ ๋ฌธ์ ๋ก ๋ถํ ํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๋ฉด์ ํฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด๋ฅผ ํตํด ๋ฌธ์ ์ ์ฐ์ฐ ์๊ฐ์ ํจ๊ณผ์ ์ผ๋ก ์ค์ผ ์ ์๋ค. ๋์ ๊ณํ๋ฒ์ ์ ์ฉํ๊ธฐ ์ํด์ ๋ค์ ๋ ๊ฐ์ง ์กฐ๊ฑด์ ๋ง์กฑํด์ผ ํ๋ค. ํผ๋ณด๋์น ์์ด์ด ์๋ ๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ํ์ ์ธ ์. ์ต์ ํ์ ๊ตฌ์กฐ Optimal Substructure์์ ํ์ ๋ฌธ์ ์ ์ต์ ํด๋ฅผ ์กฐํฉํ์ฌ ์ ์ฒด ๋ฌธ์ ์ ์ต์ ํด๋ฅผ ์ป์ ์ ์๋ค.ํ์ ๋ฌธ์ ์ค์ฒฉ Overlapping Subproblem๋์ผํ ํ์ ๋ฌธ์ ๊ฐ ๋ฐ๋ณต์ ์ผ๋ก ๋ฐ์ํ๋ค. ๋์ ๊ณํ๋ฒ์ ์ค๋ณต ๊ณ์ฐ ๋ฐฉ์ง๋ฅผ ์ํด ๋ฉ๋ชจ์ด์ ์ด์
ํน์ ํ๋ทธ๋ ์ด์
๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ค. ๋ฉ๋ชจ์ด์ ์ด์
์ ์ฌ๊ท ํธ์ถ์ ์ฌ์ฉํ์ฌ ํ์ํ ๋ฌธ์ ๋ง ๊ณ์ฐํ..