알고리즘/알고리즘문풀

    BOJ - 로봇 청소기 4991번 (JAVA)

    ❓ 문제 - 백준 로봇 청소기 4991번 - JAVA 풀이법 출처 (https://www.acmicpc.net/problem/4991) 4991번: 로봇 청소기 각각의 테스트 케이스마다 더러운 칸을 모두 깨끗한 칸으로 바꾸는 이동 횟수의 최솟값을 한 줄에 하나씩 출력한다. 만약, 방문할 수 없는 더러운 칸이 존재하는 경우에는 -1을 출력한다. www.acmicpc.net 📝 문제해결법 1. 문제 해석 로봇 청소기 시작 위치에서 상, 하, 좌, 우 한 칸씩 이동해서 모든 먼지를 청소하는데 필요한 이동 횟소의 최솟값을 구하라 가구가 배치된 곳은 방문하지 이동할 수 없으며, 가구때문에 청소할 수 없는 영역이 있다면 -1을 출력한다. 2. 해결 방법 BFS로 지도의 모든 영역 x1, y1 - > x2, y2로 ..

    BOJ - 싸지방에 간 준하 12764번 (JAVA)

    ❓ 문제 - 백준 싸지방에 간 준하 12764번 - JAVA 풀이법 출처 (https://www.acmicpc.net/problem/12764) 12764번: 싸지방에 간 준하 첫째 줄에 사람의 수를 나타내는 \(N\)이 주어진다. \((1 \le N \le 100,000)\) 둘째 줄부터 \(N\)개의 줄에 걸쳐서 각 사람의 컴퓨터 이용 시작 시각 \(P\)와 종료 시각 \(Q\)가 주어진다. \((0 \le P \lt Q \le 1,000 www.acmicpc.net 📝 문제해결법 1. 문제 해석 각 사람의 컴퓨터의 시작 시간과 종료시간에 따라 비어있는 자리 중 가장 작은 자리에 앉게 된다. 즉, 한 사용자가 이용할 시작 시간에 현재 비어 있는 자리 중 번호가 가장 작은 자리에 앉는다. 따라서 사람들..

    BOJ - 택배 1719번 (JAVA)

    ❓ 문제 - 백준 택배 1719번 - JAVA 풀이법 출처 (https://www.acmicpc.net/problem/1719) 1719번: 택배 명우기업은 2008년부터 택배 사업을 새로이 시작하기로 하였다. 우선 택배 화물을 모아서 처리하는 집하장을 몇 개 마련했지만, 택배 화물이 각 집하장들 사이를 오갈 때 어떤 경로를 거쳐야 하 www.acmicpc.net 📝 문제해결법 1. 문제 해석 각 집하장 사이를 오갈 때 최단 거리로 오고 갈 수 있어야 한다. 따라서 두 집하장 사이를 최단 거리를 오갈 수 있을 경우에 가장 먼저 거쳐야 하는 집하장을 구하여야 한다. 2. 변형된 플로이드 워셜을 활용하여 문제를 해결하였습니다. 플로이드 워셜의 경우 시간 복잡도는 O(V^3)이기 때문에 문제에서 n이 200 ..

    BOJ - 달빛 여우 16118번 (JAVA)

    ❓ 문제 - 백준 달빛 여우 16118번 - JAVA 풀이법 출처 (https://www.acmicpc.net/problem/16118) 16118번: 달빛 여우 첫 줄에 나무 그루터기의 개수와 오솔길의 개수를 의미하는 정수 N, M(2 ≤ N ≤ 4,000, 1 ≤ M ≤ 100,000)이 주어진다. 두 번째 줄부터 M개의 줄에 걸쳐 각 줄에 세 개의 정수 a, b, d(1 ≤ a, b ≤ N, a ≠ b www.acmicpc.net 📝 문제해결법 1. 문제 해석 여러 노드가 간선을 통해 연결되어 있고, 여우와 늑대가 동시에 1번 노드에서 출발했을 때 여우가 먼저 도착할 수 있는 노드의 갯수를 구하여라. 조건 : 늑대는 처음 출발할 때는 간선의 속도를 2배 빠르게 움직이고 그 다음은 2배 느리게 움직이..