본문 바로가기
728x90

분류 전체보기129

[JAVA]백준 2096번: 내려가기 www.acmicpc.net/problem/2096 2096번: 내려가기 첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 숫자가 세 개씩 주어진다. 숫자는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 중의 하나가 된다. www.acmicpc.net 1. 문제 설명 N 줄에 0 이상 9 이하의 숫자가 세 개씩 적혀있을 때 첫 줄에서 마지막 줄까지 내려가면서 얻을 수 있는 최대 점수, 최소 점수를 출력하는 문제이다. 내려가는 방법은 3가지가 있는데 아래 그림과 같다. 2. 풀이 메모리 제한이 있으나 신경 쓰지 않아도 풀 수 있는 문제이다. [N][3] 크기의 max와 min 배열을 만든 후 가능한 값들을 하나씩 더해가면서 max와 min 배열을 채워나가면 되는 간단한 문제.. 2021. 2. 1.
[JAVA]백준 2602번: 돌다리 건너기 www.acmicpc.net/problem/2602 2602번: 돌다리 건너기 첫째 줄에는 마법의 두루마리에 적힌 문자열(R, I, N, G, S 로만 구성된)이 주어진다. 이 문자열의 길이는 최소 1, 최대 20 이다. 그 다음 줄에는 각각 와 를 나타내는 www.acmicpc.net 1. 문제 설명 돌다리 2개가 주어지고 마법의 두루마리 문자열이 주어졌을 때 마법의 두루마리 문자열의 순서대로 돌다리를 건너야 한다. 돌다리 건너는 규칙은 네 가지가 있는데 1. 왼쪽에서 오른쪽으로 이동하며, 주어진 마법의 두루마리 문자열에 적힌 순서대로 모두 밟고 가야 한다. 2. 돌다리 2개를 번갈아 가면서 건너야 한다. 3. 건너뛰는 칸의 수는 상관이 없다. 4. 한 칸 이상 오른쪽으로 전진해야 한다. 문자열과 돌다.. 2021. 1. 29.
[JAVA]백준 1937번: 욕심쟁이 판다 www.acmicpc.net/problem/1937 1937번: 욕심쟁이 판다 n*n의 크기의 대나무 숲이 있다. 욕심쟁이 판다는 어떤 지역에서 대나무를 먹기 시작한다. 그리고 그 곳의 대나무를 다 먹어 치우면 상, 하, 좌, 우 중 한 곳으로 이동을 한다. 그리고 또 그곳에서 www.acmicpc.net 1. 문제 설명 n*n 크기의 대나무 숲이 있을 때 판다가 어떤 지역에서 대나무를 먹는다. 그리고 그다음 지역은 현재 지역보다 대나무가 많이 있는 지역이어야 한다. 그렇지 않으면 판다는 죽는다고 할 때 판다의 최대한 오래 살 수 있는 일수를 구하는 문제이다. 2. 풀이 시작 위치가 정해져 있지 않기에 dfs로 곧장 푸는 것보다는 dfs+dp로 푸는 것이 효율적이다. 현재 위치에서 상, 하, 좌, 우 중.. 2021. 1. 28.
[JAVA]백준 2643번: 색종이 올려 놓기 www.acmicpc.net/problem/2643 2643번: 색종이 올려 놓기 첫 번째 줄에는 색종이의 장수가 주어진다. 다음 줄부터 각 줄에 색종이의 두 변의 길이가 주어진다. 두 변의 길이는 한 칸 띄어 주어진다. 색종이의 최대 장수는 100이고, 각 변의 길이는 1000보다 www.acmicpc.net 1. 문제 설명 색종이들의 가로, 세로 길이가 주어질 때 조건을 만족하면서 쌓을 수 있는 최대 색종이 장수를 구하는 문제이다. 조건 1. 새로 올려 놓는 색종이는 맨 위의 색종이보다 크지 않아야 한다. 조건 2. 새로 올려 놓는 색종이와 맨 위의 색종이의 변들은 서로 평행해야 한다. 2. 풀이 DP를 이용해서 풀 수 있는 문제이다. 색종이들의 길이들을 저장하고 그 길이들을 오름차순 정렬한다. 그 .. 2021. 1. 25.
728x90