본문 바로가기

Problem Solving1486

[백준] 16236 아기 상어 - Implementation / Java • 문제 링크 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net • 풀이 과정 배열을 입력받을 때 상어의 위치와 거리의 초기값을 Shark 객체에 저장하고 bfs 탐색을 할 함수에 상어의 크기(2), 먹은 물고기 수 (0), 거리(0) 를 매개변수로 전달한다. bfs 탐색을 하되 문제에 제시된 조건을 적용하기 위해선 우선 순위 큐를 활용해야한다. 상어와의 거리, y축, x축 순으로 PriorityQueue 자료구조에 Comparator 오름차순으로 비교하여 우선 순위를 지정한다. 이러한 규칙을 전제로 상어.. 2022. 7. 2.
[백준] 14502 연구소 - Implementation / Java • 문제 링크 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net • 풀이 과정 연구소에 벽을 3개 세우는 모든 경우의 수를 재귀적으로 dfs 를 통해 구한다. 이렇게 벽을 세운 각각의 경우의 바이러스 확산을 bfs 를 통해 구현하고 이때 바이러스를 확산시킬 공간은 기존 lab 배열을 복사한 copy 배열을 생성해 구현한다. 바이러스가 확산된 copy 배열을 매개변수로 받아 해당 배열에 존재하는 0의 개수, 즉 안전 영역의 크기를 배열을 전체 탐색하여 구하고 이를 매번 maxCnt와 비교하여 최댓값으로써 갱신하여 정답을 출력한.. 2022. 7. 1.
[백준] 15685 드래곤 커브 - Implementation / Java • 문제 링크 15685번: 드래곤 커브 첫째 줄에 드래곤 커브의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 드래곤 커브의 정보가 주어진다. 드래곤 커브의 정보는 네 정수 x, y, d, g로 이루어져 있다. x와 y는 드래곤 커 www.acmicpc.net • 풀이 과정 입력받은 선분의 방향(dir) 을 List 에 추가한다. 리스트의 마지막 인덱스부터, 세대(gen) 수 만큼 반시계 방향으로 90도 회전한 드래곤 커브를 리스트에 추가하여 세대 별 드래곤 커브의 형태를 구현한다. 좌표 상 해당 드래곤 커브의 꼭짓점의 위치를 boolean 형태 2차원 배열에 표시하고, 해당 배열을 모두 탐색해 크기가 1x1인 정사각형의 네 꼭짓점이 true 인 개수를 반환한다. 이때 런타임 에.. 2022. 6. 30.
[백준] 16234 인구 이동 - Implementation / Java • 문제 링크 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 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.u.. 2022. 6. 29.
[백준] 14891 톱니바퀴 - Implementation / Java • 문제 링크 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴 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.StringTokenizer; public class Main { static int[][] gear = .. 2022. 6. 28.
[백준] 3190 뱀 - Implementation / Java • 문제 링크 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 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.HashMap; import java.util.LinkedList; import java.util.List; imp.. 2022. 6. 27.