본문 바로가기

CT

(32)
[BOJ] 31단계. 최단 경로 11753최단경로 방향그래프가 주어지면 주어진 시작점에서 다른 모든 정점으로의 최단 경로를 구하는 프로그램을 작성하시오. 단, 모든 간선의 가중치는 10 이하의 자연수이다. 다익스트라 알고리즘그래프의 한 정점(노드)에서 다른 정점까지의 최단 경로(Shortest Path)를 구하는 알고리즘이 과정에서 도착 정점 뿐만 아니라 모든 다른 정점까지 최단 경로로 방문하며 각 정점까지의 최단 경로를 모두 찾게 된다.방문하지 않은 노드 중에서 가장 비용이 적은 노드를 선택한다. (그리디 알고리즘)해당 노드로부터 갈 수 있는 노드들의 비용을 갱신한다. (다이나믹 프로그래밍)확인되지 않은 거리는 전부 초기값을 무한(INF) 으로 잡는다.import java.io.BufferedReader;import java.io.I..
[BOJ] 30단계. 그래프와 순회 2 101697숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다.만약, 수빈이의 위치가 X일 때걷는다면 1초 후에 X-1 또는 X+1로 이동순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하시오.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class Main { pr..
[BOJ] 30단계. 그래프와 순회 1 124479알고리즘 수업 - 깊이 우선 탐색 1N개의 정점, M개의 간선으로 구성된 무방향 그래프(undirected graph)인접 정점은 오름차순으로 방문정점 R에서 시작하여 깊이 우선 탐색으로 노드를 방문할 경우 노드의 방문 순서를 출력import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class Main { private static List> edges; private static int cnt; private static int[] visited; public static void main(String[] args) t..
[BOJ] 29단계 스택2 19935문자열 폭발문자열이 폭발 문자열을 포함하고 있는 경우에, 모든 폭발 문자열이 폭발하게 된다. 남은 문자열을 순서대로 이어 붙여 새로운 문자열을 만든다.새로 생긴 문자열에 폭발 문자열이 포함되어 있을 수도 있다.폭발은 폭발 문자열이 문자열에 없을 때까지 계속된다.폭발 문자열은 같은 문자를 두 개 이상 포함하지 않는다.모든 폭발이 끝나고 남는 문자열을 구하는 문제남아있는 문자가 없는 경우에는 "FRULA"를 출력import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Stack;public class Main { public static void main(Str..
[BOJ] 28단계 동적 계획법 2 1 11066 파일 합치기 파일을 합쳐 하나로 모으는 최소 비용을 구하는 문제 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int[] dp; static int[][] min; public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); int T = Integer.parseInt(reader...
[BOJ] 27단계 우선순위 큐 우선순위 큐(Priority Queue): 가장 작은/큰 원소를 뽑는 자료구조 최대 힙: 부모노드의 키값이 자식노드의 키 값보다 항상 큰 힙 최소 힙: 부모노드의 키 값이 자식노드의 키 값보다 항상 작은 힙 자바의 PriorityQueue
[BOJ] 26단계 이분 탐색 1 1920 수 찾기 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { private static int[] A; public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(reader.readLine()); A = new..
[BOJ] 25단계 분할 정복 1 2630 색종이 만들기 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { private static int white = 0; private static int blue = 0; private static int[][] paper; public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); int N = I..