본문 바로가기

전체 글145

[백준] 1992 쿼드트리 : 실버 (java) - 분할정복 분할정복 뿌수기!!!!!!!!!!👊🏻✔️ 문제✔️ 풀이 코드이 문제는 2차원 배열을 압축하는 쿼드트리(Quad Tree) 구조를 구현하는 전형적인 분할 정복 문제다.백준 2630 색종이만들기 문제를 풀어봤다면, 쉽게 풀 수 있을 것같다. (https://cse-gr.tistory.com/178)현재 영역이 모두 같은 값(0 또는 1)이라면 → 해당 숫자 하나만 출력한다.값이 섞여 있다면 → 영역을 4등분하여 각각 재귀 호출한다.괄호를 출력하는 코드를 어디다가 넣어야할지 고민했는데, 한 덩어리에 대한 색을 출력할 때 괄호를 출력하면 된다고 생각하니 쉽게 풀렸다. 즉, 여는 괄호는 재귀 호출 전에, 닫는 괄호는 재귀 호출이 모두 끝난 후에 출력한다.import java.io.IOException;impo.. 2025. 3. 24.
[백준] 14940 쉬운 최단거리 : 실버 1 (java) - BFS ✔️문제 ✔️ 풀이 코드이 문제는 BFS 알고리즘을 사용해 2차원 배열에서 시작점으로부터의 최단 거리를 구하는 문제이다.Point 클래스를 정의해서 각각의 위치와 출발점으로 부터의 거리를 함께 저장했다. import java.io.IOException;import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;import java.util.Queue;import java.util.LinkedList;public class Main{ static int n, m; static int[][] arr; static int[] dx = {-1,0,0,1}; static int[].. 2025. 3. 24.
[백준] 2630 색종이만들기 : 실버 2 (java) 문제 링크 : https://www.acmicpc.net/problem/2630더보기문제아래 과 같이 여러개의 정사각형칸들로 이루어진 정사각형 모양의 종이가 주어져 있고, 각 정사각형들은 하얀색으로 칠해져 있거나 파란색으로 칠해져 있다. 주어진 종이를 일정한 규칙에 따라 잘라서 다양한 크기를 가진 정사각형 모양의 하얀색 또는 파란색 색종이를 만들려고 한다.전체 종이의 크기가 N×N(N=2k, k는 1 이상 7 이하의 자연수) 이라면 종이를 자르는 규칙은 다음과 같다.전체 종이가 모두 같은 색으로 칠해져 있지 않으면 가로와 세로로 중간 부분을 잘라서 의 I, II, III, IV와 같이 똑같은 크기의 네 개의 N/2 × N/2색종이로 나눈다. 나누어진 종이 I, II, III, IV 각각에 대해서도 앞에서.. 2025. 3. 14.
[백준] 1283 단축키 지정 : 실버 1(java) - 구현 https://www.acmicpc.net/problem/1283문제한글 프로그램의 메뉴에는 총 N개의 옵션이 있다. 각 옵션들은 한 개 또는 여러 개의 단어로 옵션의 기능을 설명하여 놓았다. 그리고 우리는 위에서부터 차례대로 각 옵션에 단축키를 의미하는 대표 알파벳을 지정하기로 하였다. 단축키를 지정하는 법은 아래의 순서를 따른다.먼저 하나의 옵션에 대해 왼쪽에서부터 오른쪽 순서로 단어의 첫 글자가 이미 단축키로 지정되었는지 살펴본다. 만약 단축키로 아직 지정이 안 되어있다면 그 알파벳을 단축키로 지정한다.만약 모든 단어의 첫 글자가 이미 지정이 되어있다면 왼쪽에서부터 차례대로 알파벳을 보면서 단축키로 지정 안 된 것이 있다면 단축키로 지정한다.어떠한 것도 단축키로 지정할 수 없다면 그냥 놔두며 대소문.. 2025. 3. 14.
[백준] 4963 섬의 개수 : 실버 2(java) - BFS ✔️문제정사각형으로 이루어져 있는 섬과 바다 지도가 주어진다. 섬의 개수를 세는 프로그램을 작성하시오.한 정사각형과 가로, 세로 또는 대각선으로 연결되어 있는 사각형은 걸어갈 수 있는 사각형이다. 두 정사각형이 같은 섬에 있으려면, 한 정사각형에서 다른 정사각형으로 걸어서 갈 수 있는 경로가 있어야 한다. 지도는 바다로 둘러싸여 있으며, 지도 밖으로 나갈 수 없다.입력입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다.둘째 줄부터 h개 줄에는 지도가 주어진다. 1은 땅, 0은 바다이다.입력의 마지막 줄에는 0이 두 개 주어진다.출력각 테스트 케이스에 대해서, 섬의 개수를 출력한다.예제 입력.. 2025. 3. 9.
[Linkmoa] 구현 설명 보호되어 있는 글 입니다. 2025. 1. 23.