전체 글108 백준 16236번 : 아기 상어 문제 www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 구현 방법 물고기까지의 최단 거리를 구해야하므로 bfs를 통해 구현하였습니다. 먼저 조건이 꽤 많아 구현해야할 것을 정리하였습니다. 1. 최단거리에 있는 물고기 구하기 2. 물고기가 있다면 현재까지의 카운팅 한 초 수를 저장해주고 초기화 ( 물고기를 먹은 좌표에서 다시 탐색해야함 ) 2-1. 물고기가 한마리라면 해당 물고기가 있는 좌표로 바꿔줌 2-2. 물고기가 여러마리라면 가장 위에 있는 물고기,.. 2021. 3. 18. 백준 14940번 : 쉬운 최단거리 문제 www.acmicpc.net/problem/14940 14940번: 쉬운 최단거리 지도의 크기 n과 m이 주어진다. n은 세로의 크기, m은 가로의 크기다.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000) 다음 n개의 줄에 m개의 숫자가 주어진다. 0은 갈 수 없는 땅이고 1은 갈 수 있는 땅, 2는 목표지점이 www.acmicpc.net 구현 방법 최단 거리를 구해야 하기 때문에 bfs를 통해 구현하였습니다. 목표 지점을 시작으로 각 depth를 구해주면 목표지점까지의 거리가 됩니다. 방문체크로 map을 0으로 바꿔준 후 bfs 가 끝나고 map을 탐색했을 때 1이 남아있으면 벽으로 인해 도달하지 못한 위치로 해당 위치를 -1로 바꿔줍니다. 구현 코드 package BOJ.Gold; import.. 2021. 3. 18. 백준 11123번 : 양 한마리... 양 두 마리... 문제 www.acmicpc.net/problem/11123 11123번: 양 한마리... 양 두마리... 얼마전에 나는 불면증에 시달렸지... 천장이 뚫어져라 뜬 눈으로 밤을 지새우곤 했었지. 그러던 어느 날 내 친구 광민이에게 나의 불면증에 대해 말했더니 이렇게 말하더군. "양이라도 세봐!" www.acmicpc.net 구현 방법 dfs로 구현하였습니다. 값이 '#'일 때만 탐색하고 탐색할 때마다 방문의 표시로 '.' (빈 칸)으로 바꿔주고 카운트를 세어줍니다. 구현 코드 package BOJ.Silver; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util... 2021. 3. 14. 백준 13565번 : 침투 문제 www.acmicpc.net/problem/13565 13565번: 침투 첫째 줄에는 격자의 크기를 나타내는 M (2 ≤ M ≤ 1,000) 과 N (2 ≤ N ≤ 1,000) 이 주어진다. M줄에 걸쳐서, N개의 0 또는 1 이 공백 없이 주어진다. 0은 전류가 잘 통하는 흰색, 1은 전류가 통하지 않 www.acmicpc.net 구현 방법 bfs로 구현하였습니다. 바깥쪽인 위쪽에서 시작하여 안쪽인 아래쪽까지 가야 YES 이므로 입력을 받을 때 높이가 0이고 전류가 잘 통하는 0번일 때 큐에 넣어주었습니다. flag를 주어 값을 전부 입력 후 bfs를 돌려주어 인접한 위치의 높이가 M줄일 때 flag=true이고 flag가 true일 때 YES, 다 돌았는데도 M줄에 다다르지 못해서 flag=fa.. 2021. 3. 14. 이전 1 ··· 15 16 17 18 19 20 21 ··· 27 다음