일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- lv1
- 정렬
- Algorithm
- dfs
- 자바
- Sort
- inflearn
- 투포인터
- 스택
- 스프링핵심원리기본편
- array
- 백준
- 스프링
- Java
- 동적계획법
- baekjoon
- 큐
- 그리디알고리즘
- 알고리즘
- TwoPointers
- 인프런
- 김영한
- spring
- 인텔리제이
- 프로그래머스
- lv3
- Queue
- BFS
- 배열
- Stack
- Today
- Total
목록BFS (6)
E_Ji

문제 현수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자 모양 상자의 칸에 하나씩 넣어서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. 하나의 토마토의 인접한 곳은 왼쪽, 오른쪽, 앞, 뒤 네 방향에 있는 토마토를 의미한다. 대각선 방향에 있는 토마토들에게는 영향을 주지 못하며, 토마토가 혼자 저절로 익는 경우는 없다고 가정한다. 현수는 창고에 보관된 토마토들이 며칠이 지나면 다 익게 되는지, 그 최소 일수를 알고 싶어 한다. 토마토를 창고에 보관하는 격자모양의 상자들..

문제 7*7 격자판 미로를 탈출하는 경로의 가지수를 출력하는 프로그램을 작성하세요. 경로의 길이는 출발점에서 도착점까지 가는데 이동한 횟수를 의미한다. 출발점은 격자의 (1, 1) 좌표이고, 탈출 도착점은 (7, 7)좌표이다. 격자판의 1은 벽이고, 0은 통로이다. 격자판의 움직임은 상하좌우로만 움직인다. 미로가 다음과 같다면 위와 같은 경로가 최단 경로의 길이는 12이다. 입력 7*7 격자판의 정보가 주어집니다. 출력 첫 번째 줄에 최단으로 움직인 칸의 수를 출력한다. 도착할 수 없으면 -1을 출력한다. 입출력 예제 풀이방식 이번 문제는 BFS에 대한 문제이다. 설계과정 1. 이동 방향을 담은 배열 dy, dx에 값을 넣어서 저장한다. 2. 큐를 선언하고, 큐에 미리 선언한 Point 객체 값을 넣는다..

문제 다음 그래프에서 1번 정점에서 각 정점으로 가는 최소 이동 간선수를 출력하세요. 입력 첫째 줄에는 정점의 수 N(1
문제 아래 그림과 같은 이진트리에서 루트 노드 1에서 말단 노드 까지의 길이 중 가장 짧은 길이를 구하는 프로그램을 작성하세요. 각 경로의 길이는 루트도느에서 말단노드까지 가는데 디동하는 횟수를 즉 간선(에지)의 개수를 길이로 하겠습니다. 입력 생략 출력 3번 노드까지의 길이인 1 입출력 예제 생략 풀이방식 이번 문제는 이진트리, 재귀함수를(을) 사용하여 푸는 문제이다. 더 자세한 설명은 아래 글을 참조해서 확인해보기 바랍니다. 섹션 7. Recursive, Tree, Graph(DFS, BFS 기초) 6. 부분집합 구하기(DFS) 설계과정 1. 맨 처음에 발견되는 말단 노드가 가장 짧은 거리에 있는 말단 노드이므로 그대로 출력한다. 2. 말단 노드가 아니라면 자식 노드들을 큐에 넣는다. 3. 레벨을 증..

문제 현수는 송아지를 잃어버렸다. 다행히 송아지에는 위치추적기가 달려 있다. 현수의 위치와 송아지의 위치가 수직선상의 좌표 점으로 주어지면 현수는 현재 위치에서 송아지의 위치까지 다음과 같은 방법으로 이동한다. 송아지는 움직이지 않고 제자리에 있다. 현수는 스카이 콩콩을 타고 가는데 한 번의 점프로 앞으로 1, 뒤로 1, 앞으로 5를 이동할 수 있다. 최소 몇 번의 점프로 현수가 송아지의 위치까지 갈 수 있는지 구하는 프로그램을 작성하세요. 입력 첫 번째 줄에 현수의 위치 S와 송아지의 위치 E가 주어진다. 직선의 좌표 점은 1부터 10,000까지이다. 출력 점프의 최소횟수를 구한다. 답은 1이상이며 반드시 존재합니다. 입출력 예제 풀이방식 이번 문제는 이진트리, 큐, 재귀함수를(을) 사용하여 푸는 문제..

문제 아래 그림과 같은 이진트리를 레벨탐색 연습하세요. 입력 생략 출력 레벨 탐색 순회 출력 : 1 2 3 4 5 6 7 입출력 예제 생략 풀이방식 이번 문제는 이진트리, 큐, 재귀함수를(을) 사용하여 푸는 문제이다. 더 자세한 설명은 아래 글을 참조해서 확인해보기 바랍니다. 섹션 7. Recursive, Tree, Graph(DFS, BFS 기초) 6. 부분집합 구하기(DFS) 설계과정 1. 큐에 노드들을 저장한다. 2. 트리에 레벨을 설정하여 각 레벨에 해당하는 노드들을 확인한다. 3. 해당 레벨에 해당하는 모든 노드들을 큐에서 꺼내고 출력한다. 풀이과정 1. NodeTwo 클래스를 생성하고, 각 변수들을 선언 및 초기화한다. data : 각 트리의 값이 들어갈 변수이다. lt, rt : 각각 왼쪽과..