목록알고리즘 (103)
언젠가는 펼쳐 볼 아카이브
사용언어 : javascript lv.3 문제풀이 소요 시간 : 56분 49초 유형 : DFS/BFS #문제 #제출코드 function solution(begin, target, words) { let visited = []; let queue = []; if(!words.includes(target)) return 0; queue.push([begin, 0]); while(queue.length){ let [result, count] = queue.shift(); if(result === target) return count; words.forEach(word => { if(!visited.includes(word)){ let equalCount = 0; for(let i=0; i
사용언어 : javascript lv.3 문제풀이 소요 시간 : NaN(1시간 26분 48초) 유형 : DFS/BFS #문제 #제출코드 function solution(tickets) { let answer = []; let visited = new Array(tickets.length).fill(0); tickets.sort(); dfs('ICN', 0, 'ICN'); function dfs(start, count, route) { if (count === tickets.length) { answer.push(route); return; } for (let i = 0; i < tickets.length; i++) { const ticket = tickets[i]; if (visited[i] === 0 ..
사용언어 : javascript lv.2 소요시간 : 32분 19초 유형 : Stack / Queue #문제 #제출코드 function solution(progresses, speeds) { let answer = []; let queue = []; let i = 0; progresses.map((p, index) => { let day = Math.ceil((100-p)/speeds[index]); if(queue.length === 0){ queue.push(day); answer.push(1); }else{ if(queue[0] >= day){ answer[i] +=1; }else{ queue.shift(); queue.push(day); answer.push(1); i +=1; } } }); re..
사용 언어 : javascript lv.2 문제 풀이 소요 시간 : 42분 21초 타입 : 정렬 #문제 #제출코드 function solution(numbers) { let answer = numbers .map((item) => item + '') .sort((a, b) => (b + a) * 1 - (a + b) * 1) .join(''); return answer[0] === '0' ? '0' : answer; } sort로 비교하면서 풀어가면 되는 문제였다. 처음엔 for문으로 하나하나 비교해가며 작성했었는데.. 생각해보니 JS에는 sort()라는 멋진 함수가 있었다. sort를 이용하니 단번에 코드가 줄어들었다. 완벽한 줄 알았는데! 테스트 케이스 하나가 자꾸 틀리는거다. 생각해봤더니 "0000..