[JAVA] 백준 1260 DFS와 BFS
2021. 8. 23. 17:03
알고리즘/백준 BOJ
https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 풀이 방법 일반적인 DFS, BFS 코드를 작성해주었다. 인접리스트(ArrayList) 형태로 그래프를 만들어 주었다. ArrayList 안에 다시 ArrayList 형태를 만들고, for문을 이용해 정점 개수만큼 ArrayList안에 ArrayList를 생성해줌. 주의할 점 1. "방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하..
[JAVA] 백준 1074 Z 풀이
2021. 8. 22. 19:26
알고리즘/백준 BOJ
https://www.acmicpc.net/problem/1074 풀이 방법 수정중.. 틀렸던 부분 & 주의할 부분 수정중.. JAVA 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class BOJ_1074_Z { static StringTokenizer st; static int N,r,c; static int cnt; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new In..
[JAVA] 백준 1987 알파벳 풀이
2021. 8. 20. 17:57
알고리즘/백준 BOJ
https://www.acmicpc.net/problem/1987 풀이 방법 1. 시작 위치에서 사방탐색, 방문하지 않은 알파벳이 있다면 count++ && 진출하고 계속 탐색 (DFS) 2. 만약, 재귀가 끝났다면 count와 max 값을 비교 3. 재귀가 끝난 후, 다시 되돌아 가면서 방문했던 알파벳을 false로 && count 값 -1 틀렸던 부분 & 주의할 부분 1. 되돌아갈 때 count -1 을 꼭 해주어야 함 2. 되돌아 갈 때 조건의 위치!! JAVA 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; publ..
[JAVA] 백준 1192 쿼드트리 풀이
2021. 8. 20. 17:32
알고리즘/백준 BOJ
https://www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net 풀이 방법 1. 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래와 같이 4사분면으로 나누어서 진행한다. -> 시작 좌표가 x,y 영상의 크기가 N이라면 1사분면 x: x~x+N/2 | y: y~y+N/2 2사분면 x:x~x+N/2 | y:y+N/2~N 3사분면 x:x+N~N/2 | y: y~y+N/2 4사분면 x:x+N~N/2 | y:y+N/2~N 로 나눌 수 있다. 2.해당 범위가 ..