목록Data Structure & Algorithm (10)
민스씨의 일취일장
알고리즘 문제 풀이 후 복기하며 기록하는 페이지이다.알고리즘 문제 풀이 복기2026.03.23 - 백준 1065 | 한수주어진 수의 모든 자리수들간의 차이값이 일정한 수를 "한수"라고 한다고 한다. 문제의 핵심은 주어진 한 수의 모든 자리수들의 차이가 일정한지 묻는 문제이다.수를 문자열(String)으로 변환 후, 반복문을 이용해서 해결하였다. 수가 아무리 크더라도 자릿수가 크지 않기 때문에 String 혹은 Character 배열로 다루는 것이 메모리를 적게 사용한다고 판단하였다.각 자릿수간의 관계를 판단할 때, String 또는 Character 배열로 다룰 수 있다.2026.03.24 - 백준 14425 | 문자열 조합문자열 집합이 주어지고, 추가로 주어지는 문자들 중 문자열 집합에 포함되는 것들의..
백준 2667 단지번호 붙이기 문제에 대한 글입니다. 백준 2667 단지번호 붙이기 내용 문제 내용은 아래 링크에서 확인할 수 있습니다. 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 풀이 전략 전형적인 DFS 문제이다. 단지 내 집들의 수를 마지막에 정렬해서 출력해야 하기 때문에 정렬이 간단한 List를 이용했다. 전체코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java..
백준 11057 오르막 수 문제에 대한 글입니다. 백준 11057 오르막 수 문제 문제 정보는 아래 링크에서 확인할 수 있다. 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수 www.acmicpc.net 접근 방법 규칙이 있는 수의 나열 및 경우의 수는 이전의 결과가 다음 결과에 규칙적으로 영향을 준다. 따라서 이와 같은 문제는 바로 직전에 영향을 주는 필수 요소를 찾고, 가장 처음부터 값을 쌓아 나가야 한다. 핵심 키워드는 점화식과 초기조건이다. 첫 번째 수 : 수의 첫 번째 수가 어떤 수인지 알려준다..
백준 10866 덱 문제에 대한글입니다. 백준 10866 덱 문제 문제 정보는 아래 링크에서 확인할 수 있다. 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 풀이 입력값을 Switch문으로 분별해 적절한 수행을 해주면 된다. 특징 덱(Deque)를 선언하고 사용할 주 안다면 아주 쉬운 문제이다. 반대로 사용법을 잘 모른다면 덱을 연습하기 좋은 문제이다. 전체 코드 public class backjoon10866 { static BufferedReader br = new BufferedReade..
백준 11724 연결 요소의 개수 문제에 대한 글입니다. 백준 11724 연결 요소의 개수 문제 문제는 아래 링크에서 확인할 수 있다. 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어 www.acmicpc.net 풀이 재귀 호출을 이용한 DFS 2차원 배열을 이용해서 연결 정보를 입력받느다. 그 다음 재귀 호출을 이용해 DFS를 수행한다. 특징 정보는 2차원 배열에 담았지만, 방문 이력은 1차원 배열에 담는다. 연결 정보 상관없이, 연결 돼 있는 노드에 일단 방문했는지 여부만..
백준 26169 세 번 이내에 사과를 먹자 문제에 대한 글입니다. 백준 26169 세 번 이내에 사과를 먹자 문제 문제 정보는 아래 링크에서 확인할 수 있다. 26169번: 세 번 이내에 사과를 먹자 5 x 5 크기의 보드가 주어진다. 보드는 1 x 1 크기의 정사각형 격자로 이루어져 있다. 보드의 격자는 사과가 1개 있는 격자, 장애물이 있는 격자, 빈칸으로 되어 있는 격자로 구분된다. 격자의 위치 www.acmicpc.net 풀이 재귀 호출을 이용한 DFS 재귀호출을 이용해서 깊이 우선 탐색을 진행했다. 특징 3의 깊이까지만 탐색을 진행한다. 이를 위해서 깊이 정보를 파악하기 위한 변수 하나를 정의해 주어야 한다. int depth = 0; 경계값 주의 처음 시작하는 지점은 사과의 개수를 파악하지도(..