
문제https://www.acmicpc.net/problem/15686문제 풀이n, m의 크기가 작으므로, 완전 탐색 가능집과 치킨집만 확인하면 되므로, 그래프를 순회하며 집과 치킨집 좌표를 별도의 배열에 저장해둔다.백트래킹으로 치킨집을 M개 선택하는 모든 경우를 구한다. 선택한 치킨집은 별도의 배열에 저장한다.치킨집 M개를 모두 선택했을 때, 선택한 치킨집을 기반으로 각 집마다 치킨 거리를 계산하고, 도시의 치킨 거리를 구한다.const fs = require("fs");const [[n, m], ...graph] = fs.readFileSync("/dev/stdin").toString().trim().split("\n") .map(line => line.split(" ").map(Number))..

문제문제는 여기에서 확인문제풀이N, M의 크기가 크지 않고 모든 방향을 탐색해야 하므로 완전 탐색을 사용한다. 청소 가능한 방향을 우선으로 깊이 탐색하므로 DFS를 사용했다. 1.청소한 곳을 방문 처리할 visited 배열을 생성한다.2. 문제에 적힌 대로 북동남서(0, 1, 2, 3) 방향 배열을 생성한다.// 북, 동, 남, 서const dr = [-1, 0, 1, 0];const dc = [0, 1, 0, -1];3. 현재 위치를 방문처리 하고 DFS를 수행한다.POINT반시계 방향으로 회전하므로 방향은 +1이 아닌 +3으로 계산해야 한다.네 방향 모두 청소하여 후진할 때는 방향을 유지한 채로 이동한다.전체 코드const fs = require("fs");const [[n, m], [r, c, d]..
- Total
- Today
- Yesterday
- DP
- python
- React-native
- node.js
- backtracking
- flutter
- 비동기
- rn
- fetch
- 백준
- Spotify
- 프로그래머스
- nodeJS
- 코딩테스트
- p5js
- 파이썬
- Python3
- React.js
- 다이나믹프로그래밍
- React
- dfs
- 이벤트루프
- javascript
- 코드분석
- Unsplash
- 문제풀이
- 코어자바스크립트
- 알고리즘
- 백트래킹
- 코테
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |