๐ง ์๊ณ ๋ฆฌ์ฆ31 [ํ๋ก๊ทธ๋๋จธ์ค]๊ด๋ฌผ ์บ๊ธฐ JS ๋งจ์ฒ์์๋ DFS๋ก ์ ๊ทผํ๋๋ฐ ๋ญ๊ฐ ์๋ชป ์งฐ๋์ง ์๊ฐ ์ด๊ณผ๊ฐ ๋ฌ๋ค ๊ทธ๋์ ๊ทธ๋ฆฌ๋๋ก ์ ๊ทผํ๋ค ๐ก์ ๊ทผ๋ฐฉ์ ๊ด๋ฌผ์ ์์๋๋ก ์บ์ผ ํ์ง๋ง ๊ณก๊ดญ์ด ์์๋ ์๊ด์ด ์์ผ๋ฏ๋ก ๊ด๋ฌผ์ 5๊ฐ์ฉ ๋ฌถ์์ผ๋ก ์๋ผ์ ๋๊ณก๊ดญ์ด ํผ๋ก๋ ์์ผ๋ก ์ ๋ ฌํด์ค๋ค ๊ณก๊ดญ์ด๋ก ์บ ์ ์๋ ๋งํผ ๊ด๋ฌผ ๋ฌถ์์ ์๋ผ์ค๋ค ๊ฐ์ง๊ณ ์๋ ๊ณก๊ดญ์ด๋ก ๊ด๋ฌผ์ ๋ค ์บ์ง ๋ชปํ ์ ์๊ธฐ ๋๋ฌธ์ ์บ ์ ์๋ ๊ด๋ฌผ์ ์ ๊ฑฐ ํผ๋ก๋ ์์ผ๋ก ์ ๋ ฌ๋ ๊ด๋ฌผ ๋ฌถ์์ ๋ค์ด์ > ์ฒ > ๋ ๊ณก๊ดญ์ด ์์ผ๋ก ์บ๊ธฐ function solution(picks, minerals) { //๊ณก๊ดญ์ด ์ let pickCnt = picks.reduce((acc,cur)=>acc+cur, 0); //์ต์ข ํผ๋ก๋ let result=0; const pick = ['diamond', 'iron', 'sto.. 2023. 12. 27. [ํ๋ก๊ทธ๋๋จธ์ค] ์์์ฐพ๊ธฐ JS ๐ก์ ๊ทผ๋ฐฉ๋ฒ numbers ๋ฐฐ์ด์์ ๋ง๋ค ์ ์๋ ๋ชจ๋ ์ซ์๋ค์ ์ฐพ๊ธฐ ํด๋น ์ซ์๊ฐ ์์์ธ์ง ํ๋ณ ์ค๋ณต๋๋ ์ซ์๊ฐ ์์ ์ ์์ผ๋ฏ๋ก set ์ฌ์ฉ function solution(numbers) { const numArr = numbers.split(''); let visited = new Array(numbers.length).fill(false); const resultSet = new Set(); function isPrime(num){ if(num 2023. 12. 27. [ํ๋ก๊ทธ๋๋จธ์ค] ์ฌํ๊ฒฝ๋ก JS ์ ๊ทผ๋ฐฉ๋ฒ๐ก ๋ชจ๋ ํฐ์ผ๋ค์ ์ถ๋ฐ์ง๋ฅผ ํค๊ฐ์ผ๋ก ํ๋ ์ธ์ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค๊ธฐ ์ํ๋ฒณ ์์ผ๋ก ์ ๋ ฌ dfs๋ก ํ์ ํ์ถ ์กฐ๊ฑด์ ๊ฒฝ๋ก์ ๊ธธ์ด๊ฐ tickets์ length์ ๊ฐ์ ๋ function solution(tickets) { const adjacencyList = {}; let result=[]; //์ธ์ ๋ฆฌ์คํธ [key=์ถ๋ฐ์ง]:๋์ฐฉ์ง[] tickets.forEach(t=>{ const [dep, arr]=t; const tmp=adjacencyList[dep]||[]; tmp.push(arr); adjacencyList[dep]=tmp; }); //์ํ๋ฒณ ์์ผ๋ก ์ ๋ ฌ for(key in adjacencyList){ adjacencyList[key].sort(); } //์ฌ๊ทํจ์ dfs //path=์ง๊ธ๊น์ง์.. 2023. 12. 27. [ํ๋ก๊ทธ๋๋จธ์ค] ํ๊ฒ ๋๋ฒ JS ๐ก์ ๊ทผ ๋ฐฉ์ 1. ์ซ์ ์์ ๋ถํธ๋ง +,-๋ก ๋ฐ๊ฟ์ฃผ๋ฉด ๋๋ค(์ด์งํธ๋ฆฌ ์๊ฐํ๊ธฐ) 2. dfs๋ก ๋ชจ๋ ๊ฒฝ์ฐ์ ์ ์ฐพ์์ฃผ๊ธฐ 3. numbers์ ๋ง์ง๋ง์ ๋๋ฌํ์ ๋ return; function solution(numbers, target) { let answer = 0; //level=numbers ๋ฐฐ์ด ์์ ์ธ๋ฑ์ค(ํธ๋ฆฌ์์ level) function dfs(level, sum){ //ํ์ถ ์กฐ๊ฑด if(level===numbers.length){ if(sum===target){ answer++; } return; } dfs(level+1, sum+numbers[level]); dfs(level+1, sum-numbers[level]) } dfs(0,0); return answer; } https://sch.. 2023. 12. 27. [ํ๋ก๊ทธ๋๋จธ์ค]๋ ์ ์ฌ์ด์ ์ ์ ์ JS ๐ก์ ๊ทผ๋ฐฉ๋ฒ ์์ ๋ฐฉ์ ์ ํ์ฉํ๊ธฐ! (x-a)^2 + (y-b)^2 = r^2 ์์ ์ค์ฌ์ด ์์ ์ด๊ธฐ ๋๋ฌธ์ x^2 + y^2 = r^2 ์์ ๋ฐฉ์ ์์ ํ์ฉํด์ x๊ฐ์ ๋ฐ๋ฅธ ์์ y๊ฐ์ ๊ตฌํ๊ธฐ ๊ฐ x๊ฐ์ ๋ฐ๋ฅธ ์ ์ ๋ฒ์ ์์ ์์ y๊ฐ 2023. 12. 27. [ํ๋ก๊ทธ๋๋จธ์ค]์ฐ์๋ ๋ถ๋ถ ์์ด์ ํฉ JS ๐ก์ ๊ทผ ๋ฐฉ์ ํฌํฌ์ธํฐ ์์ ํฌ์ธํฐ์ ๋ ํฌ์ธํฐ ๋ ๊ฐ์ง๋ฅผ ์ฌ์ฉํ๋ฉด์ ๋ฒ์๋ฅผ ๋ํ๋๊ฐ๋๋ค. ํฌ์ธํฐ ์ฌ์ด์ ๋ชจ๋ ์์์ ํฉ์ด k์ดํ๋ฉด ๋ ํฌ์ธํฐ ๊ฐ์ ๋๋ฆฌ๊ณ k์ด๊ณผ๋ฉด ์์ ํฌ์ธํฐ ๊ฐ์ ๋๋ฆฌ๊ธฐ function solution(sequence, k) { //ํฌํฌ์ธํฐ //์์ ํฌ์ธํฐ์ ๋ ํฌ์ธํฐ ๋ ๊ฐ์ง๋ฅผ ์ฌ์ฉํ๋ฉด์ ๋ฒ์๋ฅผ ๋ํ๋๊ฐ๋๋ค. //ํฌ์ธํฐ ์ฌ์ด์ ๋ชจ๋ ์์์ ํฉ์ด k์ดํ๋ฉด ๋ ํฌ์ธํฐ ๊ฐ์ ๋๋ฆฌ๊ณ //k์ด๊ณผ๋ฉด ์์ ํฌ์ธํฐ ๊ฐ์ ๋๋ฆฌ๊ธฐ let start = 0; let end = 0; let sum = sequence[0]; let range = [-Infinity, Infinity]; //๋ ํฌ์ธํฐ๊ฐ ๋ฐฐ์ด์ ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ฉด ํ์ถ = sum์ด k๋ณด๋ค ์๊ธฐ ๋๋ฌธ์ while (end < sequence.len.. 2023. 12. 27. ์ด์ 1 2 3 4 5 6 ๋ค์