๋ฌธ์ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ์ด์งํธ๋ฆฌ๋ฅผ ์ ์์ํ, ์ค์์ํ, ํ์์ํ๋ฅผ ๋ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ์ธ์. ๊ฐ๋ ํธ๋ฆฌ(Tree) ๋ ธ๋(node)๋ก ์ด๋ฃจ์ด์ง ๋น์ ํ ์๋ฃ ๊ตฌ์กฐ ํธ๋ฆฌ๋ ํ๋์ ๋ฃจํธ(root) ๋ ธ๋๋ฅผ ๊ฐ๊ณ ์์ ๋ฃจํธ ๋ ธ๋๋ 0๊ฐ ์ด์์ ์์ ๋ ธ๋๋ฅผ ๊ฐ๊ณ ์์ ๊ทธ ์์ ๋ํ 0๊ฐ ์ด์์ ์์ ๋ ธ๋๋ฅผ ๊ฐ๊ณ ์๊ณ , ์ด๋ ๋ฐ๋ณต์ ์ผ๋ก ์ ์ ๋ ธ๋์ ๋ ธ๋๋ฅผ ์ฐ๊ฒฐํ๋ ๊ฐ์ (edge)๋ค๋ก ๊ตฌ์ฑ ๋ฃจํธ ๋ ธ๋(root node): ๋ถ๋ชจ๊ฐ ์๋ ๋ ธ๋, ํธ๋ฆฌ๋ ํ๋์ ๋ฃจํธ ๋ ธ๋๋ง์ ๊ฐ์ง ๋จ๋ง ๋ ธ๋(leaf node): ์์์ด ์๋ ๋ ธ๋, '๋ง๋จ ๋ ธ๋' ๋๋ '์ ๋ ธ๋' ๋ผ๊ณ ๋ ๋ถ๋ฆผ ๋ด๋ถ ๋ ธ๋(internal node): ๋จ๋ง ๋ ธ๋๊ฐ ์๋ ๋ ธ๋ ๊ฐ์ (edge): ๋ ธ๋๋ฅผ ์ฐ๊ฒฐํ๋ ์ (link, branch ๋ผ๊ณ ๋ ๋ถ๋ฆ) ํ์ (sibling..
๋ฌธ์ 10์ง์ N์ด ์ ๋ ฅ๋๋ฉด 2์ง์๋ก ๋ณํํ์ฌ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. ๋จ, ์ฌ๊ท ํจ์๋ฅผ ์ด์ฉํด์ ์ถ๋ ฅํด์ผ ํฉ๋๋ค. ๋ฌธ์ ํ์ด ์คํ ํ๋ ์(Stack Frame) ๋ฉ๋ชจ๋ฆฌ์ ์คํ(stack) ์์ญ์ ํจ์์ ํธ์ถ๊ณผ ๊ด๊ณ๋๋ ์ง์ญ ๋ณ์์ ๋งค๊ฐ ๋ณ์๊ฐ ์ ์ฅ๋๋ ์์ญ โถ JS: ์ฝ ์คํ(Call Stack)์ ์ ์ฌ๋๋ ํจ์์ ๊ด๋ จ๋ ์ ๋ณด๋ ํจ์ ๋ ์์ปฌ ํ๊ฒฝ(Functional Lexcial Environment)์ ๊ตฌ์ฑํ๋ ์ปดํฌ๋ํธ ์ค ํ๋์ธ ํจ์ ํ๊ฒฝ ๋ ์ฝ๋(Functional Environment Record)์ ์ ์ฅ๋๋ค. ํจ์ ํ๊ฒฝ ๋ ์ฝ๋๋ ๋งค๊ฐ๋ณ์, arguments ๊ฐ์ฒด, ํจ์ ๋ด๋ถ์์ ์ ์ธํ ์ง์ญ ๋ณ์์ ์ค์ฒฉ ํจ์๋ฅผ ๋ฑ๋กํ๊ณ ๊ด๋ฆฌํ๋ค. ์คํ ์์ญ์ ํจ์์ ํธ์ถ๊ณผ ํจ๊ป ํ ๋น(push)๋๋ฉฐ, ํจ์์ ..
๋ฌธ์ ์ง๋๋ ์ฝ๋์์๋ ๋ถ์ธ์ถ์ ๊ฐ์ ์กฐ์ํ์ ๋ผ์ด๋ธ ๋์์์ DVD๋ก ๋ง๋ค์ด ํ๋งคํ๋ ค ํ๋ค. DVD์๋ ์ด N๊ฐ์ ๊ณก์ด ๋ค์ด๊ฐ๋๋ฐ, DVD์ ๋ นํํ ๋์๋ ๋ผ์ด๋ธ์์์ ์์๊ฐ ๊ทธ๋๋ก ์ ์ง ๋์ด์ผ ํ๋ค. ์์๊ฐ ๋ฐ๋๋ ๊ฒ์ ์ฐ๋ฆฌ์ ๊ฐ์ ์กฐ์ํ์จ๊ฐ ๋งค์ฐ ์ซ์ดํ๋ค. ์ฆ, 1๋ฒ ๋ ธ๋์ 5๋ฒ ๋ ธ๋๋ฅผ ๊ฐ์ DVD์ ๋ นํํ๊ธฐ ์ํด์๋ 1๋ฒ๊ณผ 5๋ฒ ์ฌ์ด์ ๋ชจ๋ ๋ ธ๋๋ ๊ฐ์ DVD์ ๋ นํํด์ผ ํ๋ค. ๋ํ ํ ๋ ธ๋๋ฅผ ์ชผ๊ฐ์ ๋ ๊ฐ์ DVD์ ๋ นํํ๋ฉด ์๋๋ค. ์ง๋๋ ์ฝ๋ ์ ์ฅ์์๋ ์ด DVD๊ฐ ํ๋ฆด ๊ฒ์ธ์ง ํ์ ํ ์ ์๊ธฐ ๋๋ฌธ์ ์ด ์ฌ์ ์ ๋ญ๋น๋๋ DVD๋ฅผ ๊ฐ๊ธ์ ์ค์ด๋ ค๊ณ ํ๋ค. ๊ณ ๋ฏผ ๋์ ์ง๋๋ ์ฝ๋๋ M๊ฐ์ DVD์ ๋ชจ๋ ๋์์์ ๋ นํํ๊ธฐ ๋ก ํ์๋ค. ์ด ๋ DVD์ ํฌ๊ธฐ(๋ นํ ๊ฐ๋ฅํ ๊ธธ์ด)๋ฅผ ์ต์๋ก ํ๋ ค๊ณ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ..
๋ฌธ์ ์์์ N๊ฐ์ ์ซ์๊ฐ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋๋ค. N๊ฐ์ ์๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๋ค์ N๊ฐ์ ์ ์ค ํ ๊ฐ์ ์์ธ M์ด ์ฃผ์ด์ง๋ฉด์ด๋ถ๊ฒ์์ผ๋ก M์ด ์ ๋ ฌ๋ ์ํ์์ ๋ช ๋ฒ์งธ์ ์๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.(๋จ ์ค๋ณต๊ฐ์ ์กด์ฌํ์ง ์์ต๋๋ค) ์ฝ๋ function solution(target, arr) { let answer = 0; arr.sort((a, b) => {return a - b}); let mid = Math.floor(arr.length/2); while(mid !== 0) { if(target === arr[mid]) { answer = mid + 1; break; } else { mid = Math.floor(mid/2); } } return answer; } let arr = [23,..
๋ฌธ์ ํ์๋ ๋ค์ ๋ฌ์ ๊ฒฐํผ์ ํฉ๋๋ค. ํ์๋ ๊ฒฐํผ์ ํผ๋ก์ฐ์ ์ฅ์๋ฅผ ๋น๋ ค 3์ผ๊ฐ ์ฌ์ง ์๊ณ ํ๋ ค๊ณ ํฉ๋๋ค. ํผ๋ก์ฐ์ ์ฐธ์ํ๋ ์น๊ตฌ๋ค N๋ช ์ ์ฐธ์ํ๋ ์๊ฐ์ ๋ณด๋ฅผ ํ์๋ ์น๊ตฌ๋ค์๊ฒ ๋ฏธ๋ฆฌ ์๊ตฌํ์ต๋๋ค. ๊ฐ ์น๊ตฌ๋ค์ ์์ ์ด ๋ช ์์ ๋์ฐฉํด์ ๋ช ์์ ๋ ๋ ๊ฒ์ธ์ง ํ์์๊ฒ ์๋ ค์ฃผ์์ต๋๋ค. ํ์๋ ์ด ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ํผ๋ก์ฐ ์ฅ์์ ๋์์ ์กด์ฌํ๋ ์ต๋ ์ธ์์๋ฅผ ๊ตฌํ์ฌ ๊ทธ ์ธ์์ ์์ฉํ ์ ์๋ ์ฅ์๋ฅผ ๋น๋ฆฌ๋ ค๊ณ ํฉ๋๋ค. ์ฌ๋ฌ๋ถ์ด ํ์๋ฅผ ๋์์ฃผ์ธ์. (๋ง์ฝ ํ ์น๊ตฌ๊ฐ ์ค๋ ์๊ฐ 13, ๊ฐ๋์๊ฐ 15๋ผ๋ฉด ์ด ์น๊ตฌ๋ 13์ ์ ๊ฐ์ ํผ๋ก์ฐ ์ฅ์ ์กด์ฌํ๋ ๊ฒ์ด๊ณ 15์ ์ ๊ฐ์๋ ์กด์ฌํ์ง ์๋๋ค๊ณ ๊ฐ์ ํฉ๋๋ค) ๋ฌธ์ ํ์ด ์ด๋ฒคํธ๊ฐ start(์ฐธ์์๊ฐ)๊ณผ end(๋ ๋์๊ฐ) ๋ ๊ฐ๋ก ๋๋๋ค. ๊ฐ ์๊ฐ๊ณผ ํด๋น ์๊ฐ์ ์ผ์ด๋ ์ด๋ฒคํธ๋ฅผ ..
๋ฌธ์ ํ ๊ฐ์ ํ์์ค์ด ์๋๋ฐ ์ด๋ฅผ ์ฌ์ฉํ๊ณ ์ ํ๋ n๊ฐ์ ํ์๋ค์ ๋ํ์ฌ ํ์์ค ์ฌ์ฉํ๋ฅผ ๋ง๋ค ๋ ค๊ณ ํ๋ค. ๊ฐ ํ์์ ๋ํด ์์์๊ฐ๊ณผ ๋๋๋ ์๊ฐ์ด ์ฃผ์ด์ ธ ์๊ณ , ๊ฐ ํ์๊ฐ ๊ฒน์น์ง ์๊ฒ ํ ๋ฉด์ ํ์์ค์ ์ฌ์ฉํ ์ ์๋ ์ต๋์์ ํ์๋ฅผ ์ฐพ์๋ผ. ๋จ, ํ์๋ ํ๋ฒ ์์ํ๋ฉด ์ค๊ฐ์ ์ค ๋จ๋ ์ ์์ผ๋ฉฐ ํ ํ์๊ฐ ๋๋๋ ๊ฒ๊ณผ ๋์์ ๋ค์ ํ์๊ฐ ์์๋ ์ ์๋ค. ๋ฌธ์ ํ์ด ์์ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ์์ฐจ ํ์์ ๋์์ผํ๊ธฐ ๋๋ฌธ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ ๋ ฌ_ ์์์๊ฐ๊ณผ ์ข ๋ฃ์๊ฐ์ด ๊ฐ์ ๊ฒฝ์ฐ๋ ์๊ธฐ ๋๋ฌธ ํ์ฌ ์ฐธ์กฐํ๊ณ ์๋ ํ์ ์ข ๋ฃ์๊ฐ๋ณด๋ค ํ์ ์์์๊ฐ์ด ๊ฐ๊ฑฐ๋ ํด ๊ฒฝ์ฐ ํ์ ๊ฐ๋ฅ ํ์๊ฐ ๊ฐ๋ฅํ ํ์ ์์์๊ฐ์ ๊ทธ ๋ค์ ์ข ๋ฃ์๊ฐ์ผ๋ก ๋ณ๊ฒฝ ์ฝ๋ function solution(...arr) { let answer =..
๋ฌธ์ N๊ฐ์ ํ๋ฉด์์ ์ขํ(X, Y)๊ฐ ์ฃผ์ด์ง๋ฉด ๋ชจ๋ ์ขํ๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.์ ๋ ฌ๊ธฐ์ค์ ๋จผ์ X๊ฐ์ ์ํด์ ์ ๋ ฌํ๊ณ , X๊ฐ์ด ๊ฐ์ ๊ฒฝ์ฐ Y๊ฐ์ ์ํด ์ ๋ ฌํฉ๋๋ค. ๋ฌธ์ ํ์ด ํ ์์ ์ขํ๋ฅผ ์์๋๋ก ๋์ดํ๊ธฐ ์ํด 2์ฐจ์ ๋ฐฐ์ด์ ์ ์ฅ ํด๋น ๋ฐฐ์ด์ ์ํํ๋ฉด์ ์ ํ ์ ๋ ฌ ์ํ X๊ฐ์ ๋น๊ตํ ๊ฒฝ์ฐ์๋ 1์ฐจ์ ๋ฐฐ์ด ๋ด ์ฒซ ๋ฒ์งธ ์์๋ฅผ ๋น๊ต Y๊ฐ์ ๋น๊ตํ ๊ฒฝ์ฐ์๋ 1์ฐจ์ ๋ฐฐ์ด ๋ด ๋ ๋ฒ์งธ ์์๋ฅผ ๋น๊ต ์ฝ๋ function solution(arr) { let answer = arr; for(let i = 0; i arr[j][0]) { [arr[i], ar..
๋ฌธ์ ์ ํ๊ธฐ๊ฐ ์์๋์์ต๋๋ค. ํ์๋ ์ ์ง๊ฟ์ ๋ง๋ ๋๋ฌด ์ ์ด ๋ฌ์ต๋๋ค. ํ์๋ค ๋ฐ์๋ N๋ช ์ ํ์๋ค์ด ์์ต๋๋ค. ์ ์๋์ ๋ฐ ํ์๋ค์๊ฒ ๋ฐ ๋ฒํธ๋ฅผ ์ ํด ์ฃผ๊ธฐ ์ํด ์ด๋์ฅ์ ๋ฐ ํ์๋ค์ ํค๊ฐ ๊ฐ์ฅ ์์ ํ ์๋ถํฐ ์ผ๋ ฌ๋ก ํค์์ผ๋ก ์ธ์ ์ต๋๋ค. ์ ์ผ ์์ ๊ฐ์ฅ ์์ ํ์๋ถํฐ ๋ฐ ๋ฒํธ๋ฅผ 1๋ฒ๋ถํฐ N๋ฒ๊น ์ง ๋ถ์ฌํฉ๋๋ค. ํ์๋ ์ง๊ฟ๋ณด๋ค ํค๊ฐ ํฝ๋๋ค. ๊ทธ๋ฐ๋ฐ ํ์๊ฐ ์ ๋ฒํธ๋ฅผ ๋ฐ๊ณ ์ถ์ด ์ง๊ฟ๊ณผ ์ ๋ฆฌ๋ฅผ ๋ฐ๊ฟจ์ต๋๋ค. ์ ์๋์ ์ด ์ฌ์ค์ ๋ชจ๋ฅด๊ณ ํ์๋ค์๊ฒ ์์๋ ์์๋๋ก ๋ฒํธ๋ฅผ ๋ถ์ฌํ์ต๋ ๋ค. ํ์์ ์ง๊ฟ์ด ์๋ฆฌ๋ฅผ ๋ฐ๊พผ ๋ฐ ํ์๋ค์ ์ผ๋ ฌ๋ก ์์๋ ํค ์ ๋ณด๊ฐ ์ฃผ์ด์ง ๋ ํ์๊ฐ ๋ฐ์ ๋ฒ ํธ์ ํ์ ์ง๊ฟ์ด ๋ฐ์ ๋ฒํธ๋ฅผ ์ฐจ๋ก๋ก ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. ๋ฌธ์ ํ์ด ๋ณธ๋ ์ ์๋์ด ์ ํด์ค ๋ฒํธ ์์๋ฅผ ๊ตฌํ๋ค. ์์ ๊ตฌํ..