![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/0Fovj/btrblj32gc2/PIY7rwgjfBw50UL4Xqw9w1/img.png)
๋ฌธ์ 1๋ถํฐ N๊น์ง ๋ฒํธ๊ฐ ์ ํ ๊ตฌ์ฌ์ด ์์ต๋๋ค. ์ด ์ค ์ค๋ณต์ ํ๋ฝํ์ฌ M๋ฒ์ ๋ฝ์ ์ผ๋ ฌ๋ก ๋์ดํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ ์ถ๋ ฅํฉ๋๋ค. ๋ฌธ์ ํ์ด ๋ค์ค for๋ฌธ๊ณผ ์ฌ๊ท์ ์ฐจ์ด ํธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ํตํด DFS ํ์์ ํ๋ ๊ฒ์ ๋ค์ค for๋ฌธ์ ํ๋ ๊ฒ๊ณผ ์ ์ฒด์ ์ธ ๋์ ๋ฐฉ์์ด ๋๊ฐ๋ค.ํ์ง๋ง ์ ํด๋น ๋ฌธ์ ์์ ์ค๋ณต์์ด์ ๊ตฌํ ๋ ๋ค์ค for๋ฌธ์ด ์๋ ์ฌ๊ท ํจ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ธ์ง๋ ๋ค์ ์ฝ๋๋ฅผ ํตํด ํ์ธํ ์ ์๋ค. function solution(n , m) { let answer = []; for(let i = 1; i
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/p1c1G/btrbljVy33g/89EGPTaRakyWiMoETIz590/img.png)
๋ฌธ์ ์ด๋ฒ ์ ๋ณด์ฌ๋ฆผํผ์๋ ๋ํ์์ ์ข์ ์ฑ์ ์ ๋ด๊ธฐ ์ํ์ฌ ํ์๋ ์ ์๋์ด ์ฃผ์ N๊ฐ์ ๋ฌธ์ ๋ฅผ ํ๋ ค๊ณ ํฉ๋๋ค.๊ฐ ๋ฌธ์ ๋ ๊ทธ๊ฒ์ ํ์์ ๋ ์ป๋ ์ ์์ ํธ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ์ฃผ์ด์ง๊ฒ ๋ฉ๋๋ค.์ ํ์๊ฐ M์์ N๊ฐ์ ๋ฌธ์ ์ค ์ต๋์ ์๋ฅผ ์ป์ ์ ์๋๋ก ํด์ผ ํฉ๋๋ค.(ํด๋น๋ฌธ์ ๋ ํด๋น์๊ฐ์ด ๊ฑธ๋ฆฌ๋ฉด ํธ๋ ๊ฑธ๋ก ๊ฐ์ฃผํ๋ค. ํ ์ ํ ๋น ํ ๊ฐ๋ง ํ ์ ์์ต๋๋ค) ๋ฌธ์ ํ์ด ์ฝ๋ function solution(limit, arr) { let answer = Number.MIN_SAFE_INTEGER; let n = arr.length; function DFS(level, time, sum) { if(level === n) { if(time > limit) return; //์ ํ ์๊ฐ์ ์ด๊ณผํ์ ๊ฒฝ์ฐ answer = Ma..
https://choi95.tistory.com/115 axios Intercept requests_API ์์ฒญ ์ฒ๋ฆฌ ๋์ UI ์์ ๋ณด์ฌ ์ฃผ๊ธฐ ๊ธฐ์กด ์ฝ๋ $searchInput.addEventListener('keyup', async function(event) { $loadingIndicator.style.visibility = 'visible'; //loading UI ์น ์์ ๋๋๋ง await searchKeyword(event.target.value, searchKey.. choi95.tistory.com ์ด์ ํฌ์คํ ์์ API ์์ฒญ ์ฒ๋ฆฌ ๋์์ loading UI๋ฅผ ๋๋๋งํด์ฃผ๊ณ API ์์ฒญ์ด ๋๋๋ฉด ๋ค์ ์ฌ๋ผ์ง๋๋ก axios Intercept requests์ await๋ฅผ ์ด์ฉํ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ..
๊ธฐ์กด ์ฝ๋ $searchInput.addEventListener('keyup', async function(event) { $loadingIndicator.style.visibility = 'visible'; //loading UI ์น ์์ ๋๋๋ง await searchKeyword(event.target.value, searchKeywordApi, showKeyword); }) const searchKeywordApi = (data) => { let res = fetch(`${API_URL}?q=${data}`).then(data => { return data.json(); }) return res; } const searchKeyword = async (data, callApi, callback) =..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/wY8ZF/btraNxOrZKr/hMyf2YTFKSuCt7NYDO3UNk/img.png)
๋ค์๊ณผ ๊ฐ์ด form ํ๊ทธ ๋ด์์ Input value ๊ฐ์ ๊ฐ์ ธ์ค๊ธฐ ์ํด์ formData ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์๋ค. ์ดํ formData ์ธ์คํด์ค๋ฅผ ์ฝ๋ ์์์ ์ฐธ์กฐ ๋ฐ ์ฌ์ฉํ๊ธฐ ์ด์ ์ ์ฝ์ ์ฐฝ์์ ์ด๋ค ์ ๋ณด๊ฐ ์ถ๋ ฅ๋๋์ง ํ์ธํ๋ ค๊ณ ํ์ผ๋ formData์ ๋ํ ์ง์ ์ ์ธ ๋ฐ์ดํฐ ์ ๋ณด๊ฐ ์๋ FormData ๊ฐ์ฒด์ ๋ํ ์ ๋ณด๋ฅผ ๋ฐํํ ๋ฟ์ด์๋ค. formData ๊ฐ์ฒด The FormData interface provides a way to easily construct a set of key/value pairs representing form fields and their values, which can then be easily sent using the XMLHttpRequest.send() meth..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/csDkrJ/btraRwOURzi/cirKJCFSDcYbJo92nhBiM0/img.jpg)
๋ฌธ์ N๊ฐ์ ์์๋ก ๊ตฌ์ฑ๋ ์์ฐ์ ์งํฉ์ด ์ฃผ์ด์ง๋ฉด, ์ด ์งํฉ์ ๋ ๊ฐ์ ๋ถ๋ถ์งํฉ์ผ๋ก ๋๋์์ ๋ ๋ ๋ถ๋ถ์งํฉ์ ์์์ ํฉ์ด ์๋ก ๊ฐ์ ๊ฒฝ์ฐ๊ฐ ์กด์ฌํ๋ฉด “YES"๋ฅผ ์ถ๋ ฅํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด ”NO"๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. ๋๋ก ๋๋๋ ๋ ๋ถ๋ถ์งํฉ์ ์๋ก์ ์งํฉ์ด๋ฉฐ, ๋ ๋ถ๋ถ์งํฉ์ ํฉํ๋ฉด ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง ์๋์ ์งํฉ์ด ๋์ด ํฉ๋๋ค. ์๋ฅผ ๋ค์ด {1, 3, 5, 6, 7, 10}์ด ์ ๋ ฅ๋๋ฉด {1, 3, 5, 7} = {6, 10} ์ผ๋ก ๋ ๋ถ๋ถ์งํฉ์ ํฉ์ด 16์ผ๋ก ๊ฐ์ ๊ฒฝ์ฐ๊ฐ ์กด์ฌํ๋ ๊ฒ์ ์ ์ ์๋ค. ๋ฌธ์ ํ์ด_๋ฌถ์ ๊ธฐ์ค ๋ฌถ์ ๊ฒฝ์ฐ์ ๋ฌถ์ง ์์ ๊ฒฝ์ฐ ๋ ๊ฐ๋ก ๋๋ ๋ค์ ๋ ๋ฒจ๋ก ์ด๋ depth๋ฅผ ๋์ด์ค ๊ฒฝ์ฐ ํ์ ์ข ๋ฃ ๋ฐ ๋๋ ๋ ์งํฉ์ ๋น๊ต ์ฝ๋ function solution(d, n) { le..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/kPt3i/btraSYYxGlF/NkseLXUjvcWiYGYLUtxJGK/img.png)
๋ฌธ์ ์์ฐ์ N์ด ์ฃผ์ด์ง๋ฉด 1๋ถํฐ N๊ฐ๊น์ง์ ์์๋ฅผ ๊ฐ๋ ์งํฉ์ ๋ถ๋ถ์งํฉ์ ๋ชจ๋ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. ๋ฌธ์ ํ์ด ์์๊ฐ ํฌํจ๋๋(1) ํฌํจ๋์ง ์๋๋(0)์ ๋ฐ๋ผ ๋ ๊ฐ์ ์ผ๋ก ๋๋ ์์ฐ์ N๊ฐ๊น์ง ํ์์ ๊ณ์ ํ๊ณ N์ ๋ฒ์๋ฅผ ๋์ด์๊ฒ ๋๋ฉด ํ์์ ์ข ๋ฃ ๋ฐ ๋ถ๋ถ์งํฉ ์ถ๋ ฅ ๋ถ๋ถ์งํฉ์ ์ถ๋ ฅํ๊ธฐ ์ํด์ ์ง๊ธ๊น์ง ํ์ ํ๋ ์์๋ค์ด ํฌํจ์ธ์ง ๋ฏธํฌํจ์ธ์ง ์ฒดํฌํด๋ ๋ณ๋์ ๋ณ์ ํ์ ์ฝ๋ function solution(n) { let answer = []; let check = Array.from({length: n + 1}, () => 0); //ํฌํจ์ธ์ง ๋ฏธํฌํจ์ธ์ง ์ฒดํฌํ๋ ๋ฐฐ์ด(์์ฐ์ 1๋ถํฐ ์์์ด๊ธฐ ๋๋ฌธ์ ์ฒดํฌ ๋ฐฐ์ด ๋ํ 1๊ฐ์ฐ) function DFS(v) { if(v === n + 1) { //N..
$inputTag.addEventListener('keyup', (event) => { (...) if(event.keyCode === 13) { items.push(value); $notification.classList.add('Notification--show'); $notification.classList.remove('Notification--hide'); $itemList.innerHTML = items.map(item => `${item}`).join(''); } setTimeout(() => { $notification.classList.add('Notification--hide'); $notification.classList.remove('Notification--show'); }, 20..