[Java, 자바] 백준 7576번, 토마토
알고리즘/백준2024. 3. 15. 17:54[Java, 자바] 백준 7576번, 토마토

백준 7576번 👉🏻 https://www.acmicpc.net/problem/7576 # 난이도 : 골드5 # 알고리즘 분류 : 그래프 이론, 그래프 탐색, 너비 우선 탐색 문제내용 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자 모양 상자의 칸에 하나씩 넣어서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. 하나의 토마토의 인접한 곳은 왼쪽, 오른쪽, 앞, 뒤 네 방향에 있는 토마토를 의미한다. 대각선 방향에 있는 토마토들에게는 영향을 주지 못하며, 토마토가 혼자..

[Java, 자바] 프로그래머스 게임 맵 최단거리(BFS)
알고리즘/프로그래머스2024. 3. 6. 14:06[Java, 자바] 프로그래머스 게임 맵 최단거리(BFS)

프로그래머스 👉🏻 https://school.programmers.co.kr/learn/courses/30/lessons/1844 # 난이도 : LV.2 문제내용 제한사항 입출력 예 풀이방법 좌표를 저장할 Point 클래스를 생성한 뒤 BFS메서드와 Queue를 통해 문제를 해결하였습니다 ! 상하좌우 탐색이 이루어져야 하기 때문에 dx, dy 변수를 생성하여 현재의 위치에서 상하좌우 탐색을 진행하였습니다. 중요한 포인트는 기존에 탐색이 이루어진 부분은 1로 초기화를 해줘야 된다는 점 ! (무한루프가 돌 수 있습니당) 탐색은 최단거리로 진행되어야 하며, 도착지점에 값이 제일 빨리 도착하는 수로 초기화되고 최단거리가 아닌 경우의 수가 도착지점에 도착할 경우 탐색이 이루어진 부분은 1로 초기화를 하였기 때문에..

[Java, 자바] 백준 2589번, 보물섬(BFS)
알고리즘/백준2024. 2. 29. 14:30[Java, 자바] 백준 2589번, 보물섬(BFS)

백준 2589번 👉🏻 https://www.acmicpc.net/submit/2589 # 난이도 : 골드5 문제내용 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 이동은 상하좌우로 이웃한 육지로만 가능하며, 한 칸 이동하는데 한 시간이 걸린다. 보물은 서로 간에 최단 거리로 이동하는데 있어 가장 긴 시간이 걸리는 육지 두 곳에 나뉘어 묻혀있다. 육지를 나타내는 두 곳 사이를 최단 거리로 이동하려면 같은 곳을 두 번 이상 지나가거나, 멀리 돌아가서는 안 된다. 예를 들어 위와 같이 지도가 주어졌다면 보물은 아래 표시된 두 곳에 묻혀 있게 되고, 이 둘 사이의 ..

image