[Algorithm/Java] 알고리즘 자바 바둑이 승차 DFS (코딩테스트, DFS, BFS, 최대 무게 승차, 태울 수 있는 가장 무거운 무게) 1. 문제 설명 설명 철수는 그의 바둑이들을 데리고 시장에 가려고 한다. 그런데 그의 트럭은 C킬로그램 넘게 태울 수가 없다. 철수는 C를 넘지 않으면서 그의 바둑이들을 가장 무겁게 태우고 싶다. N마리의 바둑이와 각 바둑이의 무게 W가 주어지면, 철수가 트럭에 태울 수 있는 가장 무거운 무게를 구하는 프로그램을 작성하세요. 입력 첫 번째 줄에 자연수 C(1 Algorithm 2022.05.16
[Algorithm/Java] 알고리즘 자바 합이 같은 부분집합 DFS (코딩테스트, DFS, BFS, 두 개의 부분집합의 합이 서로 같은 경우) 1. 문제 설명 설명 N개의 원소로 구성된 자연수 집합이 주어지면, 이 집합을 두 개의 부분집합으로 나누었을 때 두 부분집합의 원소의 합이 서로 같은 경우가 존재하면 “YES"를 출력하고, 그렇지 않으면 ”NO"를 출력하는 프로그램을 작성하세요. 둘로 나뉘는 두 부분집합은 서로소 집합이며, 두 부분집합을 합하면 입력으로 주어진 원래의 집합이 되어합니다. 예를 들어 {1, 3, 5, 6, 7, 10}이 입력되면 {1, 3, 5, 7} = {6, 10}으로 두 부분집합의 합이 16으로 같은 경우가 존재하는 것을 알 수 있다. 입력 첫 번째 줄에 자연수 N(1 Algorithm 2022.05.15
[Algorithm/Java] 알고리즘 자바 그래프 최단거리 BFS (코딩테스트, Recursive, Tree, Graph, DFS, BFS, Recursion Function, 최소 이동 간선 수) 1. 문제 설명 문제 방향그래프가 주어지면 1번 정점에서 각 정점으로 가는 최소 이동 간선 수를 출력하는 프로그램을 작성하세요 입력 첫째 줄에는 정점의 수 N(1 Algorithm 2022.05.14
[Algorithm/Java] 알고리즘 자바 그래프 경로탐색 ArrayList (코딩테스트, Recursive, Tree, Graph, DFS, BFS, Recursion Function, 인접리스트) 1. 문제 설명 문제 방향그래프가 주어지면 1번 정점에서 N번 정점으로 가는 모든 경로의 가지 수를 출력하는 프로그램을 작성하세요 입력 첫째 줄에는 정점의 수 N(1 Algorithm 2022.05.13
[Algorithm/Java] 알고리즘 자바 그래프 경로탐색 DFS (코딩테스트, Recursive, Tree, Graph, DFS, BFS, Recursion Function, 모든 경로의 가지 수) 1. 문제 설명 문제 방향그래프가 주어지면 1번 정점에서 N번 정점으로 가는 모든 경로의 가지 수를 출력하는 프로그램을 작성하세요 입력 첫째 줄에는 정점의 수 N(1 Algorithm 2022.05.12
[Algorithm/Java] 알고리즘 자바 이진트리 최단거리 BFS (코딩테스트, Recursive, Tree, Graph, DFS, BFS, Recursion Function, 말단 노드까지의 최단거리) 1. 문제 설명 문제 Tree 말단 노드까지의 가장 짧은 경로 이진트리에서 루트 노드 1에서 말단 노드까지의 길이 중 가장 짧은 길이를 구하시오. 각 경로의 길이는 간선의 개수로 한다. 출력 말단 노드까지의 길이 중 가장 짧은 길이를 출력한다. 2. 문제 코드 및 풀이 설명 import java.util.LinkedList; import java.util.Queue; // 이진 트리의 노드 클래스 class Node { int data; Node lt, rt; public Node(int val) { data = val; lt = rt = null; } } public class Tree_BFS { Node root; public static void main(String[] args) { Tree_BF.. Algorithm 2022.05.11
[Algorithm/Java] 알고리즘 자바 이진트리 최단거리 DFS (코딩테스트, Recursive, Tree, Graph, DFS, BFS, Recursion Function, 말단 노드까지의 최단거리) 1. 문제 설명 문제 Tree 말단 노드까지의 가장 짧은 경로 이진트리에서 루트 노드 1에서 말단 노드까지의 길이 중 가장 짧은 길이를 구하시오. 각 경로의 길이는 간선의 개수로 한다. 출력 말단 노드까지의 길이 중 가장 짧은 길이를 출력한다. 2. 문제 코드 및 풀이 설명 // 이진 트리의 노드 클래스 class Node { int data; Node lt, rt; public Node(int val) { data = val; lt = rt = null; } } public class Tree_DFS { Node root; public static void main(String[] args) { Tree_DFS tree = new Tree_DFS(); tree.root = new Node(1); tre.. Algorithm 2022.05.10
[Algorithm/Java] 알고리즘 자바 송아지 찾기 BFS (코딩테스트, Recursive, Tree, Graph, DFS, BFS, Recursion Function, 이진트리 레벨 탐색, 너비 우선 탐색) 1. 문제 설명 설명 현수는 송아지를 잃어버렸다. 다행히 송아지에는 위치추적기가 달려 있다. 현수의 위치와 송아지의 위치가 수직선 상의 좌표 점으로 주어지면 현수는 현재 위치에서 송아지의 위치까지 다음과 같은 방법으로 이동한다. 송아지는 움직이지 않고 제자리에 있다. 현수는 스카이 콩콩을 타고 가는데 한 번의 점프로 앞으로 1, 뒤로 1, 앞으로 5를 이동할 수 있다. 최소 몇 번의 점프로 현수가 송아지의 위치까지 갈 수 있는지 구하는 프로그램을 작성하세요. 입력 첫 번째 줄에 현수의 위치 S와 송아지의 위치 E가 주어진다. 직선의 좌표 점은 1부터 10,000까지이다. 출력 점프의 최소 횟수를 구한다. 답은 1 이상이며 반드시 존재합니다. 2. 문제 코드 및 풀이 설명 import java.util.L.. Algorithm 2022.05.09
[Algorithm/Java] 알고리즘 자바 너비 우선 탐색 이진트리 BFS (코딩테스트, Recursive, Tree, Graph, DFS, BFS, Recursion Function, 레벨 탐색) 1. 문제 설명 문제 넓이 우선 탐색 이진트리 순회 코드 출력 1~7까지 입력된 레벨 탐색 순회를 출력합니다 2. 문제 코드 및 풀이 설명 import java.util.LinkedList; import java.util.Queue; // 이진 트리의 노드 클래스 class Node { int data; Node lt, rt; public Node(int val) { data = val; lt = rt = null; } } public class BFS { Node root; public static void main(String[] args) { BFS tree = new BFS(); tree.root = new Node(1); tree.root.lt = new Node(2); tree.root.rt .. Algorithm 2022.05.08
[Algorithm/Java] 알고리즘 자바 부분집합 구하기 DFS (코딩테스트, Recursive, Tree, Graph, DFS, BFS, Recursion Function, 모든 부분집합) 1. 문제 설명 문제 자연수 N이 주어지면 1부터 N까지의 원소를 갖는 집합의 부분집합을 모두 출력하는 프로그램을 작성하세요. 입력 첫 번째 줄에 자연수 N(1 Algorithm 2022.05.07