목록전체 글 (144)
언젠가는 펼쳐 볼 아카이브
사용 언어 : 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..
사용언어 : javascript lv3 문제 풀이 소요 시간 : NaN 타입 : DFS/BFS #문제 #제출코드 function solution(n, computers) { let answer = 0; let visited = []; //DFS for(let i=0; i < n; i++){ if(!visited[i]){ dfs(i, visited, computers); answer++; } } function dfs(x, visited, computers){ visited[x] = true; for(let y=0; y < computers.length; y++){ if(computers[x][y] === 1 && !visited[y]){ dfs(y, visited, computers) } } } retu..
사용언어 : javascript lv.1 문제 풀이 소요 시간 : 15분 52초 타입 : Hash #문제 #제출코드 function solution(nums) { let answer = 0; let s = new Set(); let n = Math.floor(nums.length/2); nums.map((item) => { s.add(item); }) if(s.size > n){ answer = n; }else{ answer = s.size; } return answer; } 중복된 값을 제거하는 Set을 이용해 문제를 풀었다. 중복이 제거된 종류 수가 "입력 받은 nums 배열/2" 보다 클 경우, 가져갈 수 있는 폰켓몬의 종류는 어떻게 선택해도 최대 선택할 수 있는 종류의 개수가 n개 이기 때문에 ..
사용 언어 : javascript lv.2 문제 풀이 소요 시간 : 54분 19초 타입 : DFS/BFS #문제 #제출코드 function solution(maps) { let answer = 0; let visited = Array.from(Array(maps.length), ()=> Array(maps[0].length).fill(0)); let dx = [1,0,-1,0]; let dy = [0,1,0,-1]; let queue = []; if(maps[maps.length - 1][maps[0].length - 2] === 0 && maps[maps.length - 2][maps[0].length - 1] === 0){ return -1; } visited[0][0] = 1; queue.push(..