โ
์ฌ๊ท ํ์ด answer=0def dfs(numbers,target,cur_idx,cur_total): global answer # ํ์ถ ์กฐ๊ฑด(๋ชจ๋ ์ ์ํ) if cur_idx==len(numbers): if cur_total==target: answer+=1 return else: dfs(numbers,target,cur_idx+1,cur_total+numbers[cur_idx]) dfs(numbers,target,cur_idx+1,cur_total-numbers[cur_idx])def solution(numbers, target): global answer dfs(numbers,target,0,..
[Lv1] ํฐ์ผ๋ชฌfunction solution(nums) { const map=new Map(); //ํฐ์ผ๋ชฌ ์ข
๋ฅ ๊ตฌํ๊ธฐ for(const num of nums){ map.set(num,map.get(num)+1||1) } const type=map.size return Math.min(type,Math.floor(nums.length/2));}์ต๋ํ ๋ค์ํ ์ข
๋ฅ์ ํฐ์ผ๋ชฌ์ ๊ฐ์ ธ๊ฐ๊ธธ ์ํ๊ณ , nums/2๋งํผ์ ํฐ์ผ๋ชฌ์ ๊ฐ์ ธ๊ฐ ์ ์๊ธฐ ๋๋ฌธ์ ํฐ์ผ๋ชฌ ์ข
๋ฅ์ ์์ nums/2์ค ์ต์๊ฐ์ ๋ฆฌํดํด์ฃผ๋ฉด ๋๋ค. ๐ Refactorfunction solution(nums) { //ํฐ์ผ๋ชฌ ์ข
๋ฅ ๊ตฌํ๊ธฐ const set=new Set(nums); c..
keyDown/keyUp ์ด๋ฒคํธ๋ฅผ ์ฌ์ฉํ ๋, ์์ด๋ ๊ด์ฐฎ์ง๋ง ํ๊ตญ์ด๋ก ์
๋ ฅํ๋ฉด ์ด๋ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ๐ค Why? ์ด ๋ฌธ์ ๋ ํ๊ธ์ ์กฐํฉํ ์
๋ ฅ ๋ฐฉ์ ๋๋ฌธ์ด๋ผ๊ณ ํ๋ค. ํ๊ธ ์
๋ ฅ์ ์ฌ๋ฌ ํค ์
๋ ฅ์ด ์กฐํฉ๋์ด ํ๋์ ๊ธ์๋ฅผ ์์ฑํ๋ ๊ณผ์ ์ ๊ฑฐ์น๊ธฐ ๋๋ฌธ์, key Event๊ฐ ๋ฐ์ํ๋ ์์ ์๋ ์
๋ ฅ์ด ์์ ํ ์์ฑ๋์ง ์์ ์ ์๋ค๊ณ ํ๋ค. e.nativeEvent.isComposing ์ด ์์ฑ์ ์ฌ์ฉ์๊ฐ ํ
์คํธ ์
๋ ฅ ์ค์ ๋ฌธ์ ์กฐํฉ(์: ํ๊ธ ์์๊ณผ ๋ชจ์ ์กฐํฉ)์ด ์งํ ์ค์ธ์ง ์ฌ๋ถ๋ฅผ ๋ํ๋
๋๋ค. ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ํค ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋ ์
๋ ฅ์ด ์์ฑ๋ ์ํ์ธ์ง๋ฅผ ํ์ธํ์ฌ, ์
๋ ฅ์ ์์ฑ์ด ๋ ๊ฒฝ์ฐ์๋ง ๊ฒ์์ฒ๋ฆฌ๋ฅผ ์คํํ๋๋ก ํ๋ค. const handleKeyDown: Keyboar..