본문 바로가기

Algorithm/BOJ

(101)
[BOJ-1922][MST] 네트워크 연결 - Java 문제 바로가기 1922번: 네트워크 연결 이 경우에 1-3, 2-3, 3-4, 4-5, 4-6을 연결하면 주어진 output이 나오게 된다. www.acmicpc.net 컴퓨터와 컴퓨터를 연결하는 네트워크... MST 임니당. import java.io.*; import java.util.*; public class Main { static class Node implements Comparable { int to, weight; Node(int to, int weight){ this.to = to; this.weight = weight; } public int compareTo(Node o) { return this.weight - o.weight; } } static List[] graph; stat..
[BOJ-2606][BFS] 바이러스 - Java 문제 바로가기 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 1번 컴퓨터덕분에 바이러스에 걸리는 애들의 수를 구하는 문제입니다. 아아아주 기본적인 BFS 문젭니당. import java.io.*; import java.util.*; public class Main { static List[] graph; static int N, M; public static void main(String[] args) throws IOException { input(); System.out.println(bfs(1)); } pu..
[BOJ-1197][MST] 최소 스패닝 트리 - Java 문제 바로가기 1197번: 최소 스패닝 트리 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 www.acmicpc.net 최소 스패닝 트리를 구하는 문제입니다. 크루스칼이나 프림 알고리즘을 사용하면 되겠져. import java.io.*; import java.util.*; public class Main { static class Node{ int to, weight; Node(int to, int weight){ this.to = to; this.weight = weight; } } static int V, E; st..
[BOJ-9663][백트래킹] N-Queen - Java 문제 바로가기 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 백트래킹 단골 문제 N-Queen 문제입니다. import java.io.*; import java.util.*; public class Main { static int N, answer; static int[] board; public static void main(String[] args) throws IOException { input(); dfs(1); System.out.println(answer); } public static void dfs(int r..
[BOJ-20058][시뮬레이션] 마법사 상어와 파이어스톰 - Java 문제 바로가기 20058번: 마법사 상어와 파이어스톰 마법사 상어는 파이어볼과 토네이도를 조합해 파이어스톰을 시전할 수 있다. 오늘은 파이어스톰을 크기가 2N × 2N인 격자로 나누어진 얼음판에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c www.acmicpc.net 삼성 2020 하반기 SW 역량 테스트 오후 2번 문제입니다. 사실 2번인진 모르게씀니다. 뭐 이것저것 열심히 하라고 합니다. 구하라는거 잘 구하면 간단히 풀 수 있습니다. import java.io.*; import java.util.*; public class Main { static class Dir{ int y, x; Dir(int y, int x){ this.y = y; this.x = x; } } static int N..
[BOJ-20057][시뮬레이션] 마법사 상어와 토네이도 - Java 문제 바로가기 20057번: 마법사 상어와 토네이도 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을 www.acmicpc.net 삼성 하반기 오후 문제 중 하나입니다. 와 문제 이해를 잘못해서 한시간 반을 넘겨부렀슴다 ^^;;;; import java.io.*; import java.util.*; public class Main { static class Dir{ int y, x; Dir(int y, int x){ this.y = y; this.x = x; } } static int N; static int[][] map; static int[..
[BOJ-1655][이분 탐색] 가운데를 말해요 - Java 문제 바로가기 1655번: 가운데를 말해요 첫째 줄에는 수빈이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 수빈이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net 수빈이가 외치는 수 중에서 가운데에 있는 수를 구하는 문제입니다. 입력을 하나 받을 때마다 구해줘야 합니당. import java.io.*; import java.util.*; public class Main { static int N; static List list = new ArrayList(); public static void main(String[] args) throws Exception { input(); } publi..
[BOJ-1516][위상 정렬] 게임 개발 - Java 문제 바로가기 1516번: 게임 개발 첫째 줄에 건물의 종류 수 N(1 ≤ N ≤ 500)이 주어진다. 다음 N개의 줄에는 각 건물을 짓는데 걸리는 시간과 그 건물을 짓기 위해 먼저 지어져야 하는 건물들의 번호가 주어진다. 건물의 번호는 1부 www.acmicpc.net ACM Craft 문제랑 비슷합니다. 위상 정렬을 해서 풀면 편하답니다. import java.io.*; import java.util.*; public class Main { static int N; static List[] graph; static int[] time; static int[] inDegree; public static void main(String[] args) throws Exception { input(); sol..