자바/백준
-
[17142] 연구소 3 - Java[자바]자바/백준 2023. 10. 15. 23:44
| 문제 링크 https://www.acmicpc.net/problem/17142 17142번: 연구소 3 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 바이러스는 활성 상태와 비활성 상태가 있다. 가장 처음에 모든 바이러스는 비활성 상태이고, www.acmicpc.net | 문제 NxN 크기의 연구소에 바이러스가 있습니다. N(4 ≤ N ≤ 50) 0: 빈 칸 1: 벽 2: 바이러스 바이러스는 0인 빈 칸으로 퍼져나갈 수 있으며, 1인 벽으로는 전파되지 못합니다. 연구소에 놓인 바이러스 중 M개만 활성화 시킬 수 있으며, 나머지는 비활성화 상태로 활성화된 바이러스가 닿으면 활성화 상태로 바뀝니다. M(1 ≤ M ≤ 10) M개의 바이러스를 활성화 시켰을 때..
-
[13460] 구슬 탈출 2 - Java[자바]자바/백준 2023. 10. 11. 22:23
| 문제 링크 https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net | 문제 N x M 크기의 배열에 입력 값이 다음과 같이 주어집니다. N, M (3 ≤ N, M ≤ 10) . : 빈칸 # : 벽 O : 구멍 R : 빨간 구슬 B : 파란 구슬 배열은 상, 하, 좌, 우로 기울릴 수 있으며, 도중에 멈추는 것은 불가능합니다(구슬이 벽에 닿거나 구멍아 빠져야 움직임을 멈춥니다). 배열을 최소 몇 번 ..
-
[14621] 나만 안되는 연애 - Java[자바]자바/백준 2023. 10. 10. 00:53
| 문제 링크 https://www.acmicpc.net/problem/14621 14621번: 나만 안되는 연애 입력의 첫째 줄에 학교의 수 N와 학교를 연결하는 도로의 개수 M이 주어진다. (2 ≤ N ≤ 1,000) (1 ≤ M ≤ 10,000) 둘째 줄에 각 학교가 남초 대학교라면 M, 여초 대학교라면 W이 주어진다. 다음 M개의 www.acmicpc.net | 문제 N개의 정점과 M개의 간선이 주어집니다. (2 ≤ N ≤ 1,000) (1 ≤ M ≤ 10,000) N개의 정점은 W 혹은 M으로 성질이 구분됩니다. 학교간 연결된 간선 중 성질이 다른 간선을 이용해 모든 학교가 연결되는 최소한의 길이를 출력하시오. 모든 학교가 이어질 수 없다면 -1을 출력하시오. | 풀이 최소 스패닝 트리 문제이며..
-
[4386] 별자리 만들기 - Java[자바]자바/백준 2023. 10. 9. 23:59
| 문제 링크 https://www.acmicpc.net/problem/4386 4386번: 별자리 만들기 도현이는 우주의 신이다. 이제 도현이는 아무렇게나 널브러져 있는 n개의 별들을 이어서 별자리를 하나 만들 것이다. 별자리의 조건은 다음과 같다. 별자리를 이루는 선은 서로 다른 두 별을 일 www.acmicpc.net | 문제 n개의 별자리 좌표(x, y)가 주어집니다. (1 ≤ n ≤ 100), (1.00 ≤ x,y ≤ 1000.00) 모든 별을 이은 별자리의 비용(별과 별 사이의 거리)을 출력하시오. | 풀이 최소 스패닝 트리 문제로 별의 좌표(x,y)를 입력할 Vertex클래스(x,y)의 배열을 만들어줍니다. 별의 개수가 100개로 100x100 인접리스트를 구해도 계산에 무리가 되지 않을 것..
-
[17472] 다리 만들기 2 - Java[자바]자바/백준 2023. 10. 9. 00:55
| 문제 링크 https://www.acmicpc.net/problem/17472 17472번: 다리 만들기 2 첫째 줄에 지도의 세로 크기 N과 가로 크기 M이 주어진다. 둘째 줄부터 N개의 줄에 지도의 정보가 주어진다. 각 줄은 M개의 수로 이루어져 있으며, 수는 0 또는 1이다. 0은 바다, 1은 땅을 의미한다. www.acmicpc.net | 문제 2차원 배열로 입력 값(0: 바다, 1: 땅)이 주어집니다. 길이가 2 이상인 다리로 섬들을 모두 연결하며, 다리의 최소 길이 합을 출력하시오. 만약, 모든 섬을 연결할 수 없는 경우 -1 출력 | 풀이 섬들끼리의 연결을 확인하기 위해 섬들에게 번호를 부여합니다(모든 섬이 1로 되어있음 → 1, 2, 3,... 으로 섬들의 값을 변경). 섬들끼리 길이가..
-
[17471] 게리맨더링 - Java[자바]자바/백준 2023. 10. 8. 21:57
| 문제 링크 https://www.acmicpc.net/problem/17471 17471번: 게리맨더링 선거구를 [1, 4], [2, 3, 5, 6]으로 나누면 각 선거구의 인구는 9, 8이 된다. 인구 차이는 1이고, 이 값보다 더 작은 값으로 선거구를 나눌 수는 없다. www.acmicpc.net | 문제 게리맨더링이란 선거구를 자기 정당에 유리하도록 구획하는 일입니다. 미국은 여러 주로 이루어져있어 단순히 인원수로 투표하는 방식이 아니라 게리맨더링이 사용된다고 합니다. 구역의 개수 N이 주어지며, N개의 구역에 인구수는 1이상 100이하 입니다(2 ≤ N ≤ 10). 구역별 연결된 구역이 주어지며, 구역별로 이어진 2개의 선거구로 구획하였을 때, 두 선거구의 인구 차이의 최소값을 출력하시오. 두..
-
[17406] 배열 돌리기4 - Java[자바]자바/백준 2023. 10. 1. 01:37
| 문제 링크 https://www.acmicpc.net/problem/17406 17406번: 배열 돌리기 4 크기가 N×M 크기인 배열 A가 있을때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다. 배열 A가 아래와 같은 경우 1행의 합은 6, 2행의 합은 4, 3행의 합은 15이다. 따라서, 배열 A의 www.acmicpc.net | 문제 N×M 크기인 2차원 배열이 주어집니다. 행(r), 열(c), 범위(s)가 K번 주어집니다. (r-s, c-s)부터 (r+s, c+s) 까지 범위의 배열 값을 시계방향으로 회전시킵니다. 2번의 회전 순서는 정해져있지 않으며, 회전을 끝낸 배열의 행별 합이 가장 작은 값을 출력하시오. | 풀이 회전의 순서의 모든 경우의 수를 dfs를 사용하여 순..
-
[17281] ⚾ - Java[자바]자바/백준 2023. 9. 30. 21:30
| 문제 링크 https://www.acmicpc.net/problem/17281 17281번: ⚾ ⚾는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝 동안 게임을 진행해야 한다. 한 이닝에 3아웃이 발생하면 이닝이 종 www.acmicpc.net | 문제 이닝의 수를 나타내는 N(2 ≤ N ≤ 50)이 주어지며, N 줄에는 이닝 별 선수들이 결과가 입력됩니다. 0: 아웃 i: 안타(i루), i (2 ≤ i ≤ 50) 4: 홈런 타자들의 순서를 정해 모든 이닝에 걸쳐 받을 수 있는 가장 높은 점수가 몇인지 출력하시오.( 1번 선수는 4번 타자로 고정) 이닝은 3회 아웃되면 끝나며, 이닝이 끝나도 타자의 순서는 계속 이어집니다. | ..