알고리즘
-
1238. [S/W 문제해결 기본] 10일차 - Contact알고리즘/SW Expert Academy 2022. 4. 6. 00:01
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15B1cKAKwCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 해석 비상연락망과 연락을 시작하는 당번에 대한 정보가 주어질 때, 가장 나중에 연락을 받게 되는 사람 중 번호가 가장 큰 사람을 구하는 함수를 작성하시오. 문제 풀이 전 설계 가장 나중에 연락을 받게 되는 사람들을 구해야 하므로 BFS를 사용합니다. 인접 리스트와 인접 행렬 중에 배열의 크기가 100x100이 최대이므로 인접 행렬을 선택합니다. BFS마다 depth를 적용하여 depth가 커지..
-
[백준] 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번 뽑아서..
-
1974. 스도쿠 검증 - 자바(JAVA)알고리즘/SW Expert Academy 2022. 4. 3. 00:01
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5Psz16AYEDFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 해석 9 x 9칸으로 이루어져 있는 표에 1~9까지의 숫자를 채워 넣는 퍼즐이다. 같은 줄에 1~9까지의 숫자를 한번씩만 넣고, 3 x 3 크기의 작은 격자 또한, 1~9까지의 숫자가 겹치지 않아야 합니다 위와 같이 겹치는 숫자가 없을 경우 정답으로 1을 출력하고 그렇지 않을 경우 0을 출력합니다. 문제 풀이 전 설계 2차원 행렬을 순회하면서 스도쿠가 유효한지 검사합니다. 1. 가로 숫자가 겹..
-
[백준] 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)에는 말이 놓여 있습니다. 말은 상하좌우 인접한 네 칸 중의 한 칸으로 이동할 수 있습니다. 새로 이동한 칸에 적혀 있는 알파벳은 지금까지 지나온 모든 칸에 적혀 있는 알파벳과는 달라야 합니다. 최초에 말이 지나는 칸은 좌측 상단의 칸도 포함됩니다. 말이 ..
-
1247. [S/W 문제해결 응용] 3일차 - 최적 경로알고리즘/SW Expert Academy 2022. 4. 1. 00:01
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15OZ4qAPICFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 해석 N명의 고객에게 배달을 하려고 합니다. 회사, 집, 각 고객의 위치는 좌표(x, y)로 주어집니다. 두 위치사이의 거리는 | x1 - x2 | + | y1 - y2|로 계산됩니다. N명의 고객을 모두 방문하고 집으로 돌아오는 경로 중 가장 짧은 것을 찾으려 합니다. 회사를 출발해서 고객들에게 모두 방문하고 집으로 돌아가는 경로 중 이동거리가 가장 짧은 경로를 찾으세요. 문제 풀이 전 설계..
-
[백준] 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. 벽을 고..