본문 바로가기

Problem Solving1213

[백준] 2309 일곱 난쟁이 - Brute Force / Java • 문제 링크 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net • 풀이 과정 • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Arrays; public class Main { public static void main(String[] args.. 2022. 5. 19.
[백준] 2231 분해합 - Brute Force / Java • 문제 링크 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net • 풀이 과정 • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Main { public static void main(String[] args) th.. 2022. 5. 18.
[백준] 3085 사탕 게임 - Brute Force / Java • 문제 링크 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net • 풀이 과정 • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Main { public static int n; public static char[][] box; public static int max = 0; public static void main(String[] args) throws IO.. 2022. 5. 17.
[백준] 7576 토마토 - Graph Theory / Java • 문제 링크 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net • 풀이 과정 기본적인 접근 방식은 BFS를 활용한 미로 탐색과 유사하다. Queue 와 4 방향 좌표 이동에 필요한 dx, dy 배열을 활용하며 이 문제의 경우 방문 여부를 체크할 배열은 필요가 없다. 탐색할 위치를 동시 다발적으로 Queue 에 삽입해 탐색하고 4 방향 이동 가능 여부를 체크하는 과정에서 0 이 아닌, 즉 아직 익지 않은 토마토의 좌표는 건너뛰며 탐색을 진행한다. 이때 이동할 때 마다 이전 인덱스의 값보다 1 증.. 2022. 5. 16.
[백준] 2178 미로 탐색 - Graph Theory / Java • 문제 링크 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net • 풀이 과정 우선 미로의 경로를 나타낼 maze 배열과 배열의 크기로 지정될 n, m 변수, 그리고 각 좌표당 방문 여부를 체크할 visited 배열과 4방향 좌표 이동에 필요한 dx, dy 배열을 지정한다. 첫 시작 인덱스는 0, 0 이며 visited 배열에 해당 위치를 체크하고 bfs 함수에 인자로 전달해 탐색을 시작한다. 너비 우선 탐색 (BFS)을 활용하여 경로를 탐색할 것이므로 기본적으로 큐 (Queue) 를 활용한다. 현재 x, y 좌표값을 저장할 Loc 객체를 생.. 2022. 5. 15.
[백준] 2026 바이러스 - Graph Theory / Java • 문제 링크 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net • 풀이 과정 • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue;.. 2022. 5. 14.