거스름돈 처음 코드, 그냥 dfs를 사용하니 효율성 0이 떴다. dp로 풀어보자 function solution(n, money) { money.sort((a,b)=>a-b); let answer=0; for(let i=0;iacc+cur,0); } return ans(money.length,n) } 수정2 function solution(n, money) { let dp=[1].concat(Array(n).fill(0)); money.forEach(v=>{ dp[v]+=1; for(let i=v+1;ii.sort()); result=result.map(i=>i.toString()); return [...new Set(result)].length; } 안될줄 알았는데 그냥 됬다.... 모지 dfs로 그냥..
추석 트래픽 -- 2018 KAKAO BLIND RECRUITMENT function solution(lines) { const result = [], arr = []; lines.forEach((val) => { const spl = val.split(" "), time = spl[1].split(":"), hour = time[0] * 1, min = time[1] * 1, sec = time[2] * 1, end = hour * 3600 + min * 60 + sec, duration = spl[2].substr(0, spl[2].length - 1) * 1, start = end - duration + 0.001; arr.push([start, end]); }); const logArr = [....
스킬트리 -- Summer/Winter Coding(~2018) function solution(skill, skill_trees) { let answer=0; let reg=new RegExp(`[${skill}]`); for(let i=0;i i.split("")); while (true) { //지울 정사각형의 왼쪽 위 index 배열을 구하자 let delete_index = []; for (let i = 0; i < m - 1; i++) { for (let j = 0; j < n - 1; j++) { const value = board[i][j]; if (value === 0) continue; if ( board[i + 1][j] === value && board[i][j + 1] === va..
다리를 지나는 트럭 -- 이렇게 푸는게 맞나.. 싶다. function solution(bridge_length, weight, truck_weights) { let truck_ing=[]; let time=0; while(truck_weights.length>0){ truck_ing.map(i=>i[1]++); truck_ing.length>0 && truck_ing[0][1]===bridge_length && truck_ing.shift(); truck_ing.reduce((acc,cur) => acc+cur[0],0)+truck_weights[0] ({index, value})); let i=1; while(true){ const max=Math.max.apply(null,obj.map(o => o..
크레인 인형뽑기 게임(2019 카카오 개발자 겨울 인턴십) function solution(board, moves) { let arr=[]; let count=0; for(let i=0;iN) return false; arr[i-1][1]++; }); return arr.map(x => { x.push(x[1]/users); users-=x[1]; return x; }).sort((a, b) => b[2]-a[2]).map(x => x[0]+1); } programmers.co.kr/learn/courses/30/lessons/42889 1차 다트게임(2018 KAKAO BLIND RECRUITMENT) -- 정규식을 알긴하는데 여기서 못쓰겠다.. function solution(dartResult) {..
완주하지 못한 선수 function solution(participant, completion) { participant.sort(); completion.sort(); for(let i=0;ivalue!==arr[i+1]); } programmers.co.kr/learn/courses/30/lessons/12906 나누어 떨어지는 숫자 배열 function solution(arr, divisor) { const answer=arr.filter((value)=>value%divisor===0).sort((a,b)=>a-b); return answer.length!==0 ? answer : [-1]; } programmers.co.kr/learn/courses/30/lessons/12910 두 정수 사이의..
function solution(str1, str2) { str1=str1.toUpperCase(); str2=str2.toUpperCase(); const arr1=newArr(str1); const arr2=newArr(str2); arr1.sort(); arr2.sort(); let union=0; //교집합 let inter=0; //합집합 for (var i = 0; i = 0) { union++; arr1.splice(arr1.indexOf(arr2[i]), 1); } inter++ } for (var i = 0; i < arr1.length; i++) { inter++ } if (inter === 0) r..