알고리즘/백준
-
[백준] 15686번 : 치킨 배달 - 자바(JAVA)알고리즘/백준 2022. 4. 12. 00:01
https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 문제 해석 크기가 N x N 인 도시가 존재합니다. 도시는 빈 칸, 치킨집, 집 으로 구성됩니다. 치킨 거리 = 집과 가장 가까운 치킨집 사이의 거리 도시의 치킨 거리 = 모든 집의 치킨 거리의 합 치킨집의 수익 증가를 위해 일부를 폐업시키려고 할 때 M개를 고르고 나머지를 모두 폐업시키려고 한다. 이 때 가장 작은 도시의 치킨 거리를 구하세요 문제 풀이 전 설계 조합을 통한..
-
[백준] 14719번 : 빗물 - 자바(JAVA)알고리즘/백준 2022. 4. 10. 00:01
https://www.acmicpc.net/problem/14719 14719번: 빗물 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치 www.acmicpc.net 문제 해석 2차원 세계에 블록이 쌓여있고 비가 오면 블록 사이에 빗물이 고인다. 이때 고이는 빗물의 총량은 얼마일까? 2차원 세계의 바닥을 항상 막혀있다고 가정하여도 좋다. 문제 풀이 전 설계 빗물이 고일 수 없는 상황은 블록의 크기가 작아졌다가 커지는 구간이 없을 때이다. 반대로 빗물이 고일 수 있는 상황은 블록의 크기가 작아졌다가 커지는 구간이 존재할 때입니다. 우리가 알아야..
-
[백준] 1759번 : 암호 만들기 - 자바(JAVA)알고리즘/백준 2022. 4. 7. 00:01
https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 문제 해석 암호로 동작하는 보안시스템을 만드려고 한다. 암호는 서로 다른 L개의 알파벳 소문자들로 구성되며 최소 한개의 모음(a,e,i,o,u)와 최소 두 개의 자음으로 주성되어 있습니다. 암호는 알파벳이 증가하는 순서로 배열됩니다. 위의 규칙을 따르는 암호를 모두 출력하세요 문제 풀이 전 설계 1. R개의 알파벳을 조합을 이용하여 L개를 뽑는다. 2. 모음이 1개이상 자음이 2개이상인 조합들만 Str..
-
[백준] 3055번 : 탈출 - 자바(JAVA)알고리즘/백준 2022. 4. 5. 00:01
https://www.acmicpc.net/problem/3055 3055번: 탈출 사악한 암흑의 군주 이민혁은 드디어 마법 구슬을 손에 넣었고, 그 능력을 실험해보기 위해 근처의 티떱숲에 홍수를 일으키려고 한다. 이 숲에는 고슴도치가 한 마리 살고 있다. 고슴도치는 제 www.acmicpc.net 문제 해석 티떱숲의 지도는 R행 C열로 이루어져 있습니다. 비어있는 곳은 . 물이 차있는 지역은 * 돌은 X 비버의 굴 D 고슴도치의 위치 S 로 표시되어 있습니다. 매 분마다 고슴도치는 상하좌우로 한 칸 이동할 수 있습니다. 물도 매분마다 비어있는 칸으로 확장하게 됩니다. 물과 고슴도치는 돌을 통과할 수 없습니다. 고슴도치는 물이 차있는 구역으로 이동할 수 없고, 물도 비버의 소굴로 이동할 수 없습니다. 고..
-
[백준] 15666번 : N과 M(12) - 자바(JAVA)알고리즘/백준 2022. 4. 4. 00:01
https://www.acmicpc.net/problem/15666 15666번: N과 M (12) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 문제 해석 N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구해야 합니다. 조건 1. N개의 자연수 중에서 M개를 고른 수열 2. 같은 수를 여러 번 골라도 된다. ( 중복 가능) 3. 고른 수열은 비 내림차순이어야 한다. ( 오름차순으로 정렬되어야 함) ex) 1 1 2 2 3 3 4 4 문제 풀이 전 설계 항상 N개의 자연 수중에 1개씩 M번 뽑아서..
-
[백준] 1987번 : 알파벳 - 자바(JAVA)알고리즘/백준 2022. 4. 2. 00:01
https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 문제 해석 세로 R 칸 가로 C칸으로 된 표 모양의 보드가 존재합니다. 보드의 각 칸에는 알파벳이 하나씩 적혀있고 좌측 상단 칸(0,0)에는 말이 놓여 있습니다. 말은 상하좌우 인접한 네 칸 중의 한 칸으로 이동할 수 있습니다. 새로 이동한 칸에 적혀 있는 알파벳은 지금까지 지나온 모든 칸에 적혀 있는 알파벳과는 달라야 합니다. 최초에 말이 지나는 칸은 좌측 상단의 칸도 포함됩니다. 말이 ..
-
[백준] 3109번 : 빵집 - 자바(JAVA)알고리즘/백준 2022. 3. 31. 00:01
https://www.acmicpc.net/problem/3109 3109번: 빵집 유명한 제빵사 김원웅은 빵집을 운영하고 있다. 원웅이의 빵집은 글로벌 재정 위기를 피해가지 못했고, 결국 심각한 재정 위기에 빠졌다. 원웅이는 지출을 줄이고자 여기저기 지출을 살펴보던 www.acmicpc.net 문제 해석 첫째 열은 근처 빵집의 가스관 마지막 열은 원웅이의 빵집 건물을 피해서 가스관을 최대로 연결하고자 함 가스관은 오른쪽 대각선 위, 오른쪽, 오른쪽 대각선 아래로 이동 가능 각 칸의 중심끼리 연결 파이프라인은 서로 겹칠 수 없음 문제 풀이 전 설계 0번째 행렬의 0번째 row부터 N-1번째 row까지 순차적으로 파이프탐색 파이프 이동의 우선순위 1. 오른쪽 위 2. 오른쪽 3. 오른쪽 아래 코드 impo..
-
[백준] 14502번 : 연구소 -자바(JAVA)알고리즘/백준 2022. 3. 30. 00:01
https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 문제 해석 N x M 크기의 직사각형의 크기의 연구소가 존재합니다. 연구소는 빈칸, 벽으로 이루어져 있습니다. 일부 칸에 바이러스가 존재하고 바이러스는 상하좌우 인접한 칸으로 퍼져나갈 수 있습니다. 새로 세울 수 있는 벽의 개수는 3개이며 꼭 3개를 세워야 합니다. 이때 연구소의 지도가 주어졌을 때 벽을 새로 3개 세워서 안전 영역의 크기의 최댓값을 구하세요. 문제 풀이 전 설계 1. 벽 세우기 2. 벽을 고..