목록전체 글 (126)
차차로그
function solution(numbers, target) { let answer = 0; const length = numbers.length; function dfs(count, sum, flag) { if (count === length) { if (target === sum) { answer++; } return; } dfs(count + 1, sum + numbers[count]); dfs(count + 1, sum - numbers[count]); } dfs(0, 0); return answer; } 이번 문제는 도저히 감이 안 잡혀서 다른 분의 코드를 참고했다. DFS, BFS는 들어는 봤지만 어떤 식으로 코드를 구현하는지 몰랐고, 그래서 코드푸는 힌트를 보아도 구현조차 할 수가 없었다...
function solution(n, k) { var answer = n.toString(k).split(0); var count = 0; for(var i = 0; i < answer.length; i++){ if(primeChk(answer[i])){ count++; } } return count; } function primeChk(num){ if(num
function solution(n, works) { var sum = works.reduce((acc,val)=>acc+val) if(sum 0){ var max = 0; for(var i = 0; i max){ var inum = i; max = works[i] } } works[inum] -= 1; n--; } return works.reduce((acc,val)=>acc + val**2,0); } works에 있는 값 중에 가장 큰 값에서 1씩 빼주면 된다. 뺄 때마다 n에서도 1을 빼줘 n이 0이 될 때까지 반복하면 된다. 단 works의 누적값이 n보다 적다면 바로 0을 리턴해준다. 레벨3치고는 크게 어렵지 않았던 문제인데 효율성..
function making(str){ str = str.split("").map((v,i)=>{if(i+1 (/[a-zA-Z]{2}/g).test(v)).map(v=>v.toLowerCase()); return str; } function solution(str1, str2) { str1 = making(str1); str2 = making(str2); if(str1.length == 0 &&..
이번 문제는 어떻게 풀어야할지 흐름은 바로 파악했는데 그걸 구현하는게 너무 어려웠다.. 결국 다른 사람 풀이를 참고함ㅠ function solution(s) { var answer = []; //s = "{{1,2,3},{2,1},{1,2,4,3},{2}}" s = s.slice(2,-2).split("},{") //[ '1,2,3', '2,1', '1,2,4,3', '2' ] .sort((a,b)=>a.length-b.length) //[ '2', '2,1', '1,2,3', '1,2,4,3' ] .map(val => val.split(",") .map(x=>parseInt(x))); //[ [ 2 ], [ 2, 1 ], [ 1, 2, 3 ], [ 1, 2, 4, 3 ] ] for(var val of ..
function solution(priorities, location) { var list = []; var arr = []; for(var i in priorities){ list[i] = [i, priorities[i]]; } while(list.length){ var first = list.shift(); var max = 0; for(var i in list){ max = Math.max(max, list[i][1]) } if(first[1] < max){ list.push(first); }else{ arr.push(first); } } for(var i in arr){ if(arr[i][0] == location){ return parseInt(i) + 1; } } } 내 문서의 인쇄순서를 알아..