전체 글
-
[java] 백준 2606 : 바이러스알고리즘 2023. 4. 30. 20:23
문제 https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net bfs만 하니까 쉽게 풀렸다.. 코드 package main; import java.util.*; public class Main { static int N; static int M; static int count=0; static ArrayList[] arr; static boolean[] visited; public static void main(String[] args) { Scanner s..
-
[java] 백준 1260 : DFS와 BFS알고리즘 2023. 4. 27. 19:05
문제 https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 코드 import java.util.*; public class Main { static int N; static int M; static int K; static int X; static ArrayList[] arr; static boolean[] visited; public static void main(String[] args) { Scanner s..
-
[java] 백준 14888 : 연산자 끼워넣기알고리즘 2023. 4. 18. 10:27
문제 https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 코드 package main; import java.util.*; public class Main { static int max=Integer.MIN_VALUE; static int min=Integer.MAX_VALUE; static int n; static int[] op; static int[] numbers; public stat..
-
[java] 백준 18352 : 특정 거리의 도시찾기알고리즘 2023. 4. 17. 20:01
https://www.acmicpc.net/problem/18352 18352번: 특정 거리의 도시 찾기 첫째 줄에 도시의 개수 N, 도로의 개수 M, 거리 정보 K, 출발 도시의 번호 X가 주어진다. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) 둘째 줄부터 M개의 줄에 걸쳐서 두 개 www.acmicpc.net 풀이 visited배열을 생성하여 이전 도시의 기록과 합하여 도시에 방문한 횟수를 기록합니다. 특정 거리에 해당하는 visited idx를 출력합니다 import java.util.*; public class Main { static ArrayList[] arr; static ArrayList answer; static in..
-
[java] LeetCode 234. Palindrome Linked List알고리즘 2023. 4. 12. 09:00
문제 https://leetcode.com/problems/palindrome-linked-list/description/ Palindrome Linked List - LeetCode Can you solve this real interview question? Palindrome Linked List - Given the head of a singly linked list, return true if it is a palindrome or false otherwise. Example 1: [https://assets.leetcode.com/uploads/2021/03/03/pal1linked-list.jpg] Input: hea leetcode.com 풀이 런너기법을 사용해서 구해보려고 코드를 봤는데...
-
[java] 1021: 회전하는 큐알고리즘 2023. 4. 11. 22:28
덱 문제 https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net 풀이 package main; import java.util.*; public class Main { public static void main(String[] args) { Scanner kb = new Scanner(System.in); LinkedList deque = new LinkedList(); int count = 0; int N= kb.nextInt(); int M= k..
-
[java] 백준 1697:숨바꼭질알고리즘 2023. 4. 11. 19:33
https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 처음에 dfs로 접근하려다가 안되겠어서 답지를 보니 bfs로 푸는 거였다. 최단시간 거리를 구하는건 bfs인데 dfs만 하다보니 순간 까먹었다...(경험부족으로 더 공부해야겠다) 완성된 코드 import java.util.*; public class Main { public static int[] visited = new int[100001]; public static ..
-
[java] 백준 11724: 연결 요소의 개수알고리즘 2023. 4. 11. 11:05
https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net import java.io.*; import java.util.*; public class Main { static boolean flag = false; static boolean visited[]; static ArrayList[] arr; public static void DFS(int i) { if(visited[i]) retu..