[BaekJoon] 10178번 - 할로윈의 사탕 [Java][C++]
문제 링크 1. 문제 풀이 사탕을 나누는 것은 몫으로, 남은 사탕은 나머지를 구하는 것으로 간단하게 구할 수 있다. 2. 코드 1. 풀이 [Java] import java.io.*; import java.util.*; public class Main { public static void main(String[] args...
문제 링크 1. 문제 풀이 사탕을 나누는 것은 몫으로, 남은 사탕은 나머지를 구하는 것으로 간단하게 구할 수 있다. 2. 코드 1. 풀이 [Java] import java.io.*; import java.util.*; public class Main { public static void main(String[] args...
문제 링크 1. 문제 풀이 두 큐에서 각 큐의 원소의 합이 서로 같아지는지 찾는 문제로 각 큐의 합을 미리 구한 후 합이 큰 큐에서 합이 작은 큐로 원소를 이동하는 과정을 반복하면 된다. 이때 각 큐의 원소 합을 같게 만들 수 없는지를 판단해야하는데 이는 큐의 특정 원소가 다른 큐에 들어갔다가 다시 원래 큐로 돌아로는 것을 모든 원소에 대해...
1. 객체와 테이블 매핑 엔티티 매핑은 객체와 테이블, 필드와 컬럼, 기본 키, 연관관계 매핑을 모두 해줄 수 있고, 아래와 같은 애너테이션을 사용하면 된다. 객체와 테이블 매핑: @Entity, @Table 필드와 컬럼 매핑: @Column 기본 키 매핑: @Id 연관관계 매핑: @ManyToOne, @JoinColumn ...
문제 링크 1. 문제 풀이 주어진 지도에서 섬의 개수를 구하는 문제로 대각선으로 연결되어도 동일한 섬이라서 대각선까지 탐색하는 팔방탐색을 활용하면 된다. 지도의 각 좌표에 대해 땅이면 해당 섬의 크기를 구하고 방문 처리를 하는 과정을 반복하는 방식으로 해결할 수 있다. 2. 코드 1. BFS [Java] import java.i...
문제 링크 1. 문제 풀이 주어진 지도의 모든 좌표를 순회하며 집이 있는 곳이면 단지의 크기를 구하고 개수를 세주면 된다. 단지의 크기는 BFS를 활용해서 구하면 되고 이를 오름차순으로 정렬해서 출력해줬다. 2. 코드 1. 풀이 [Java] import java.io.*; import java.util.*; public cla...
문제 링크 1. 문제 풀이 치즈는 외부 공기와 두 변이상 접촉한 경우 한 시간 후에 사라진다. 이때 모눈종이의 가장자리는 치즈가 놓이지 않는 것으로 가정하므로 무한 루프를 돌며 모눈종이 가장자리 중 임의의 좌표에서 BFS를 통해 두 번 이상 치즈가 존재하는 것으로 판단된 좌표들을 찾아서 녹여주는 방식으로 해결했다. 치즈가 존재하는 좌표를 ...
문제 링크 1. 문제 풀이 주어진 모눈종이에서 직사각형 내부를 제외한 분리된 영역의 개수와 영역의 넓이를 오름차순으로 구하는 문제로 BFS를 활용하면 간단하게 해결할 수 있다. 주어진 모눈종이를 시계방향으로 90도 회전했다고 생각하면 행이 $N$, 열이 $M$ 인 2차원 배열로 생각할 수 있으며, 직사각형이 차지하는 위치를 마킹하고 마킹되지...
문제 링크 1. 문제 풀이 어떤 지역의 높이 정보가 주어졌을 때, 안전 영역의 최대 개수를 구하는 문제로 비의 양에 따른 안전 영역을 전부 구해보면 해결할 수 있다. 안전 영역은 플러드 필을 활용해서 개수를 구할 수 있으며 높이 정보가 $1$ 에서 $100$ 사이의 자연수이므로 비의 양을 $0$ 부터 $99$ 까지 높여가며 탐색해서 최댓값을...
문제 링크 1. 문제 풀이 도화지에 있는 그림의 수와 가장 넓은 그림의 넓이를 구하는 문제로 도화지의 각 칸에 대해 그림의 일부이면 BFS를 통해 넓이를 구하고 방문 체크를 하면 간단하게 해결할 수 있다. 2. 코드 1. 풀이 [Java] import java.io.*; import java.util.*; public clas...
문제 링크 1. 문제 풀이 적록색약이 아닌 사람은 RGB를 모두 구분하고 적록색약인 사람은 R과 G를 동일하게 볼 때 구역의 수를 구하는 문제로 적록색약이 아닌 사람일 때 구역의 수를 먼저 구하고 이후 R과 G를 동일하게 변경 후 다시 구역의 수를 구하면 된다. 2. 코드 1. BFS [Java] import java.io.*;...