본문 바로가기

알고리즘41

백준 6593번 상범 빌딩(JAVA) - BFS 백준 6593번 상범 빌딩 https://www.acmicpc.net/problem/6593 문제설명 - 빌딩의 정보가 주어진다. ( .(점)은 이동가능 / #은 이동불가능 ) - L층 R행 C열의 크기로 이루어진 빌딩 - 시작점과 도착점은 하나만 존재 - 여기서 탈출할 수 있는 최단거리를 찾는 문제. 접근 BFS로 접근 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public cl.. 2023. 5. 3.
백준 2573번 빙산(JAVA) - BFS/DFS 백준 2573번 빙산 https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 문제설명 - 빙산들의 정보가 주어지고 1년 마다 빙하가 녹는다. - 빙산은 자기의 위치를 기준으로 동서남북 사방의 방향의 0(바다)의 개수 만큼 높이가 줄어든다. - 동서남북 방향으로 붙어있는 칸들은 연결되어 있다고 판단하고, 시간이 지남에따라 빙산이 녹아서 없어질 때 빙산의 영역(덩어리의 개수)가 2개 이상이 되는 최초의 시간을 구하는 문제. (단 2덩어리 이상이 만들.. 2023. 5. 2.
백준 3184번 양(JAVA) - DFS 백준 3184번 https://www.acmicpc.net/problem/3184 3184번: 양 첫 줄에는 두 정수 R과 C가 주어지며(3 ≤ R, C ≤ 250), 각 수는 마당의 행과 열의 수를 의미한다. 다음 R개의 줄은 C개의 글자를 가진다. 이들은 마당의 구조(울타리, 양, 늑대의 위치)를 의미한다. www.acmicpc.net 문제설명 마당의 정보가 주어진다. '.'(점) : 빈필드 # : 울타리 'o' : 양 'v' : 늑대 필드에서는 수평/수직으로만 이동가능하며 울타리를 지나지 않고 이동할 수 있다면 같은 영역이라고 본다. 한 영역안에서 양의 수가 많으면 늑대와 싸워 이길수 있고 쫓아낸다. 그렇지 않다면 양이 잡아먹힌다. 살아남은 양과 늑대의 수를 출력 접근 DFS로 접근 코드 impor.. 2023. 5. 1.
백준 5014번 스타트링크(JAVA) - BFS 백준 5014번 https://www.acmicpc.net/problem/5014 5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net 문제설명 스타트링크가 있는 건물 층수(F)와 스타트링크의 층수 (G), 현재 위치(S), 해당 층수 만큼 올라가는 버튼(U), 해당 층수 만큼 내려가는 버튼(D)가 주어질 때 S에서 F로 가기위해 눌러야하는 버튼의 최소 횟수를 구하는 문제. 접근 BFS로 접근 코드 import java.io.BufferedReader; import java.io.IOException; import java.i.. 2023. 5. 1.