| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- GROUPBY
- django
- 프림
- Baekjoon
- 그래프 탐색
- SQL코딩테스트
- db
- 최단경로
- 피로그래밍
- SQL
- BFS
- 크루스칼
- Pirogramming
- AWS
- 구현
- JOIN
- 알고리즘
- Java
- EC2
- OrderBy
- 코딩테스트
- MST
- 배포
- 백준
- Database
- 프로그래머스
- 자바
- 누적합
- union find
- 다익스트라
- Today
- Total
목록dfs (2)
NullNull
깊이우선 탐색 (DFS) 개념 Stack 사용 / 재귀 깊이 우선 탐색 탐색할 때 마다 조건을 주는 경우에 유리 (백트래킹) 수도 코드 1. 체크인 2. 목적지인가? 3. 인접한 곳 탐색 4. 갈 수 있는가? 4-1. 간다. 5. 체크아웃 구현 static final int[] dr = {0, -1, 0, 1}; static final int[] dc = {-1, 0, 1, 0}; static int N; static int endR, endC; static boolean[][] visited; public static void dfs(int r, int c) { // 1. 체크인 visited[r][c] = true; // 2. 목적지인가? if (r == endR && c == endC) { //Do..
P17070 파이프 옮기기 1 문제 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 번호이고, 행과 열의 번호는 1부터 시작한다. 각각의 칸은 빈 칸이거나 벽이다. 오늘은 집 수리를 위해서 파이프 하나를 옮기려고 한다. 파이프는 아래와 같은 형태이고, 2개의 연속된 칸을 차지하는 크기이다. 파이프는 회전시킬 수 있으며, 아래와 같이 3가지 방향이 가능하다. 파이프는 매우 무겁기 때문에, 유현이는 파이프를 밀어서 이동시키려고 한다. 벽에는 새로운 벽지를 발랐기 때문에, 파이프가 벽을 긁으면 안 된다. 즉, 파이프는 항상 빈 칸만 차지해야 한다. 파..