반응형

Algorithm 73

[프로그래머스/JavaScript] Lv.3 아이템 줍기

해당 문제는 BFS문제로 최단 거리를 구하는 문제이다. BFS 사용 예 - 최단거리, 최소 횟수, 미로, 탐색 등 DFS 사용 예 - 경우의 수, 이동 과정에 제약 있음 등 문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/87694 function solution(rectangle, characterX, characterY, itemX, itemY) { // 1) 좌표를 2배로 늘린다. characterX *= 2; characterY *= 2; itemX *= 2; itemY *= 2; let dobuleRec = rectangle.map(rec => rec.map(point => point * 2)); // 2) 위, 아래, 우측, 좌..

Algorithm 2022.11.08

[프로그래머스/JavaScript] Lv.3 단위변환

해당 문제는 BFS문제로 최소 횟수를 구하는 문제이다. BFS 사용 예 - 최단거리, 최소 횟수, 미로, 탐색 등 DFS 사용 예 - 경우의 수, 이동 과정에 제약 있음 등 문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/43163 function solution(begin, target, words) { // 1) 중복 방지를 위해 변환한 알파벳을 담을 배열 선언 const visited = []; // 2) 큐에 최초 알파벳과 위치를 담는다. const queue = [[begin, 0]]; // 3) 큐에 값이 있으면 반복 while(queue.length > 0){ // 4) 큐에 담긴 최근 값(shift) 가져오기 let [w, ..

Algorithm 2022.11.03

[프로그래머스/JavaScript] Lv.2 게임 맵 최단거리

최단거리를 구하는 문제로 너비 우선 탐색(BFS) 문제 유형이다. ( 최단거리는 BFS !!) BFS 란? 현재 정점에 연결된 가까운 점들부터 탐색하는 방법으로 큐를 이용해서 구현한다. function solution(maps) { let answer = 1; let queue = []; const dx = [-1, 1, 0, 0]; const dy = [0, 0, -1, 1]; const n = maps.length; const m = maps[0].length; // 시작 위치 담기 queue.push([0, 0]); // 지나간 위치를 0으로 막는다.(시작 위치도 지나간 위치 이므로 막음) maps[0][0] = 0; // 큐에 담긴 값이 없을 때까지 반복한다. while(queue.length >..

Algorithm 2022.10.28
반응형