본문 바로가기

Algorithm

(102)
백준 1956 운동 - java package practice;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Boj1956 { static int[][] distance; static boolean[] visited; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new St..
백준 1753 자바 최단경로 package practice;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.PriorityQueue;import java.util.StringTokenizer;public class Boj1753 { static int V,E,K; public static int[] distance; public static boolean[] visited; public static ArrayList[] list; public static PriorityQueue q = new PriorityQueue..
백준 1238 파티 package practice;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Boj1238 { static int max = Integer.MAX_VALUE / 2; static int[][] distance; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Strin..
BFS와 DFS를 어떨때 사용해야할까? 알고리즘 문제를 풀다보니 BFS를 사용해서 해결할수도 있고, DFS를 사용하여 해결할 수도 있는 문제를 발견하였다. 그렇다면 어떤 경우에 BFS와 DFS를 선택하여야 하는걸까? 라는 생각을 가지고 글을 작성하게 되었다. BFS (Breadth-First Search) 의 사용 기준1. 최단 경로가 중요한 경우 ● BFS는 각 노드를 같은 깊이에서 방문하므로, 가중치가 없는 그래프에서 최단 경로를 찾는경우에 적합하다. 2. 최소 비용 문제 ● BFS는 처음으로 발견되는 해답이 최소 비용임을 보장한다. (모든 간선의 가중치가 동일한 경우) 3. 모든 최단 경로를 찾고 싶은 경우 ● BFS는 모든 최단 경로를 발견하는 데 적합하다. 4. 해가 얕은 깊이에 있을 가능성이 큰 경우 ● 문제의 해답이 그래프의 얕은..
프로그래머스 - 네트워크 (BFS로 풀기) package practice;import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;public class Pro_네트워크 { public static void main(String[] args) { Solution solution = new Solution(); System.out.println(solution.solution(3, new int[][] {{1,1,0}, {1,1,0},{0,0,1}})); } static ArrayList[] list; static boolean[] visited; static int count; static class Solu..
백준 1717 집합의 표현 package practice;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Boj1717 { static int[] parent; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); ..
백준 1976 여행 가자 package practice;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;import java.util.StringTokenizer;public class Boj1976 { static ArrayList[] list = new ArrayList[201]; static boolean[] visited = new boolean[201]; public static void main(String[] args) throws IOException..
프로그래머스 순위 package refactor;import java.util.ArrayList;import java.util.List;public class Pro_순위 { public static void main(String[] args) { Solution solution = new Solution(); int n = 5; int[][] results = {{4,3},{4,2},{3,2},{1,2},{2,5}}; System.out.println(solution.solution(n,results)); } static ArrayList[] strongLists; static ArrayList[] weakLists; static boolean..