문제설명입력 & 출력나의 풀이문제 접근 방법"백준 - 색종이 만들기" 문제는 하얀색(0)과 파란색(1)로 칠해진 종이가 주어지고 전체 종이가 모두 같은색으로 칠해있지 않으면 N/2로 나눠가면서 모든 영역의 종이가 같은색으로만 이루도록 만들고, 각 종이의 색깔의 개수를 출력하는 문제입니다. 위와 같이 최종적으로 나누어진 색종이들을 보면, 흰색은 9개, 파란색은 7개로 나누어집니다.제가 접근한 방법은 다음과 같습니다. 주어진 종이 전체가 하나의 색깔로 이루어져 있는지 확인모두 같은 색이면 하얀색 종이 개수 또는 파란색 종이 개수를 증가시키고 종료.하나의 색깔이 아니라면 4등분(재귀 호출)N × N 크기의 종이를 N/2 × N/2 크기의 네 개의 부분으로 나누고,각각을 재귀적으로 검사.이 때 4등분으로 나누는..
Coding Test/백준
문제설명입력 & 출력나의 풀이문제 접근 방법"백준 - 부분수열의 합" 문제는 정수 N개 수열과 정수S가 주어졌을 때 해당 수열의 부분 수열에서 더하여 정수 S를 만들 수 있는 경우의 수를 구하는 문제입니다. 위와 같이 정수 S가 0일 때, 수열에서 0을 만들 수 있는 부분수열은 [-3, -2, 5]입니다. 이 부분수열을 찾기 위해서는 수열의 첫 번째 원소부터 차례대로 탐색하며, 각 원소를 포함할지 말지를 결정하여 부분수열을 구성해 나가야 합니다. 즉, 각 원소에 대해 포함할지 말지를 결정해야 하며, 이 과정은 백트래킹(Backtracking) 방식으로 해결할 수 있습니다.전체 코드 부분 수열을 구할 때, 각 원소를 "포함"하거나 "포함하지 않음" 두 가지 선택합니다. 재귀 함수에서 중요한 부분 중 하나인..
문제설명입력 & 출력나의 풀이문제 접근 방법"백준 - 절댓값 힙" 문제는 우선순위 큐 자료구조를 사용하여 풀이한다면 손쉽게 풀이할 수 있는 문제입니다. [자료구조 JAVA] 우선순위 큐(Priority Queue) 클래스 알아보기 ✔Java를 활용하다 보면 데이터를 처리할 때 우선순위를 지켜야 하는 상황이 있습니다. 이때 사용할 수 있는 자료구조가우선순위 큐(Priority Queue)입니다. 우선순위 큐를 사용하면 우선순위가 높은pixx.tistory.com 선순위 큐는 일반적으로 힙(heap)이라는 트리 구조를 기반으로 구현됩니다. 이 힙에 정수x를 넣고 0이 입력될 때마다 힙에서 절댓값이 가장 작은 값을 출력하고, 그 값을 배열에서 제거합니다. 만약 절댓값이 가장 작은 값이 여러개일 때는, 가장 ..
문제설명입력 & 출력나의 풀이문제 접근 방법이번 "백준 - 토마토"문제는 "백준7576번 문제"와 거의 같은 문제입니다. 7576번 문제와 다른 점은 하나의 위 아래로 박스가 추가되었다는 점입니다. 위 아래로 박스가 추가되었기 때문에 방향도 마찬가지로 앞, 뒤가 추가되었습니다. 접근 방법도 마찬가지로 동일합니다. M x N 크기의 상자가 주어지고, 해당 상자의 토마토가 있을 때 다음 조건을 만족하는 토마토가 모두 익을 때까지의 최소 날짜를 출력해야 합니다.보관 후 하루가 지나면 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다.저장될 때부터 모든 토마토가 익어있는 상태이면 0을 출력해야 하고, 토마토가 모두 익지는 못하는 상황이면 -1을 출력 왼쪽 그림과 같이 ..