일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 프로그래머스
- Spring
- 너비우선탐색
- DP
- 다이나믹프로그래밍
- 우선순위큐
- DFS
- 그리디알고리즘
- java
- 데이터베이스
- mariaDB
- BFS
- springboot
- SQL
- 정렬
- select
- Greedy
- 백준
- Effective Java
- Database
- 코테
- 피보나치
- IntelliJ
- 알고리즘
- 탐욕법
- join
- db
- 이펙티브자바
- 깊이우선탐색
- mybatis
- Today
- Total
목록너비우선탐색 (19)
땀두 블로그

BFS문제에 다양한 조건을 달아서 푸는 문제이다. 문제 해결이 쉽지 않아서 다른 블로그들의 풀이를 읽으면서 풀이를 진행했다. 문제를 나누어서 생각해보면 1. 상어보다 작은 물고기가 있는 곳을 탐색하는 부분 2. 탐색 거리가 같을 경우 우선순위를 구분하는 부분 3. 상어의 크기와 먹은 물고기의 수를 변경/초기화 해주는 부분 이 3 부분을 신경써주면서 풀이하게 되면 문제를 해결할 수 있다. 문제 해결에 있어서는 아래의 블로그를 참고하여 풀이하였다. 문제에 대한 접근 방법이나 해설이 잘 되어 있어서 참고하기 좋았다. https://velog.io/@skyepodium/%EB%B0%B1%EC%A4%80-16236-%EC%95%84%EA%B8%B0-%EC%83%81%EC%96%B4#%EC%95%84%EA%B8%B..

간단한 BFS문제이다. 처음 탐색 이후 해당 배열을 clone해주고, R이나 G를 하나의 값으로 합쳐준 다음 탐색을 해주면 된다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; class Node10026 { int x; int y; Node10026(int x, int y) { this.x = x; this.y = y; } } public class p10026 { public static boolean[][] visited; public static int a; public static i..

간단한 bfs문제이다. 4가지 경우를 방문 유무를 판단하여서 각각의 과정을 행하면 된다. 이 부분에서 주의해야할 것은 1. S 연산을 할 때, n == 0 일 때 9999로 넘어가도록. 2. 123을 L연산 수행시 231이 아니라, 1230이 되도록 3. 123을 R연산 수행시 312가 아니라 3012가 되도록 4. 방문 체크 배열을 혹시 전역으로 설정했는지 이 방법들을 제대로 체크해야 한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokeniz..

BFS를 이용해서 탐색하는 문제이다. 사다리와 뱀을 다르게 생각하지 말고, 같은 배열에 key, value조합이라고 생각하면 문제 해결에 도움이 된다. 이미 지나간 부분이나 100을 넘긴 숫자가 들어오면 넘어가고, 그렇지 않은 경우 count를 증가시킨다. 그렇게 해서 주사위 눈이 나올 수 있는 1~6까지의 값을 더해주면서 사다리, 뱀 유무를 판단하여 이동한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class p..

이 문제는 간단하게 bfs를 이용한 탐색을 통해 풀었다. 이미 지나가지 않은 점이고 간선이 존재하는 경우 탐색을 진행했고, 탐색을 하면서 갈 수 있는 경로의 값들을 갱신해주는 방식으로 문제를 해결할 수 있다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class p11403 { public static int a; public static int[][] ary; public static boolean[] visited..