본문 바로가기

알고리즘30

[JAVA] 1249번 보급로 문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15QRX6APsCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 4방탐색 bfs 알고리즘에 우선순위 큐를 사용해 복구 시간이 가장 짧은 경로를 구하여 풀이하였다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.PriorityQueue; import java.util.Queue; class Node implem.. 2021. 9. 21.
[JAVA] 2178번 미로 탐색 문제 https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 풀이 최소칸 수를 구하는 문제에는 bfs를 사용해 푸는 것이 더 효율적이다. bfs 알고리즘을 적용하여 간단히 문제를 풀이하였다. import java.awt.Point; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringT.. 2021. 9. 21.
[JAVA] 1248번 공통조상 문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15PTkqAPYCFAYD&categoryId=AV15PTkqAPYCFAYD&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 노드 클래스를 만들어 트리를 구성하였다. 주어지는 두 정점을 각각 자신의 부모를 찾아가도록 하였고, 거치는 모든 값을 저장하도록 하였다. 공통적으로 겹치는 조상이 발생했을 때, 그 공통 조상으로부터의 서브트리의 크기를 구하도록 다시 따라 내려가게 하였다. import java.io.BufferedReader.. 2021. 9. 20.
[JAVA] 1260번 DFS와 BFS 문제 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의 탐색 결과에 따라 방문순서를 출력하는 문제이다. dfs의 경우 재귀로 문제를 풀었고, bfs는 큐를 사용해 해결하였다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; i.. 2021. 9. 20.
[JAVA] 1247번 최적 경로 문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15OZ4qAPICFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 회사, 집, 고객의 위치를 모두 구한 다음, dfs를 돌며 가까운 고객의 위치를 계속해서 확인해보며 답을 찾을 수 있었다. import java.awt.Point; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; import java.util.StringTokeni.. 2021. 9. 19.
[JAVA] 1012번 유기농 배추 문제 https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 풀이 전형적인 BFS 풀이 문제이다. 상하좌우 4방 탐색을 하며 인접해 있는 경우끼리 묶어 값을 도출하였다. import java.awt.Point; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTo.. 2021. 9. 19.