이 문제는 두가지 방법으로 풀 수 있습니다.첫 번째는 만들 수 있는 가장 큰 수를 찾아 그 수 이하의 모든 소수를 구해 numbers의 숫자가 포함되어 있는지 확인하는 방법.두 번째는 만들 수 있는 모든 수를 구해(DFS) 소수인지 아닌지 판별하는 방법.첫 번째 방법은function solution(numbers) { let answer = 0; let arr = []; numbers = numbers.split("").sort((a,b)=> b-a).join(""); for(let i = 0; i x).map(x =>{ let mini_numbers = numbers.toString().split(""); let mini_x = x.toString().sp..
제가 문제를 풀다가 난관에 봉착했었습니다.//1번function solution(numbers) { var answer = ''; let arr = []; for(let i = 0; i b[1].substr(0,4)-a[1].substr(0,4)) arr.map(x => answer+=x[0]) return answer[0] === "0"?"0":answer;}//2번function solution(numbers) { var answer = ''; let arr = []; for(let i = 0; i b[1].substr(0,4)-a[1].substr(0,4)) arr.map(x => answer+=x[0]) return answer[0] ..
던전 array 순서대로 처음부터 탐색 -> 점점 깊게 들어가는 방식function solution(k, dungeons) { let max = 0; let visit = new Array(dungeons.length).fill(false); function dfs(cur,tired,depth){ visit[cur] = true; tired-=dungeons[cur][1]; for(let i = 0; i =dungeons[i][0])dfs(i,tired,depth+1); } max = Math.max(max,depth); visit[cur] = false; } for(let i = 0 ; i
재귀함수를 이용해 깊이 전부 탐색function solution(numbers, target) { var answer = 0; function dfs(n,sum){ if(n === numbers.length){ if(sum === target) answer++; }else{ dfs(n+1,sum+numbers[n]); dfs(n+1,sum-numbers[n]); } } dfs(0,0); return answer;}