Algorithm
-
[백준 3055 - JAVA] 탈출Algorithm 2020. 11. 9. 16:55
3055번: 탈출 사악한 암흑의 군주 이민혁은 드디어 마법 구슬을 손에 넣었고, 그 능력을 실험해보기 위해 근처의 티떱숲에 홍수를 일으키려고 한다. 이 숲에는 고슴도치가 한 마리 살고 있다. 고슴도치는 제 www.acmicpc.net 티떱숲에 일어난 홍수를 피해 고슴도치가 비버의 굴로 이동할 수 있는 가장 빠른 길을 출력하라! 전형적인 BFS문제로, 물과 고슴도치의 이동의 Queue를 두개 활용한다. 풀이 방법 Input과정에서 hedgehog와 water 두개의 큐에 각각 고슴도치와 물의 위치를 넣는다. hedgehog 큐가 0이 되거나 비버의 굴에 도착할때까지 bfs. bfs는 time이 증가한 후 water 먼저 진행한다. 3-1. 범위를 벗어나거나 돌에 마주치면 continue 3-2. 이미 물로..
-
[백준 2636 - JAVA] 치즈Algorithm 2020. 11. 9. 16:52
2636번: 치즈 첫째 줄에는 사각형 모양 판의 세로와 가로의 길이가 양의 정수로 주어진다. 세로와 가로의 길이는 최대 100이다. 판의 각 가로줄의 모양이 윗 줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진 www.acmicpc.net 공기에 닿은 치즈는 녹아 없어지며, 치즈가 모두 녹을 때까지의 시간과 마지막으로 남아있던 치즈조각들을 출력한다. BFS를 활용하면 쉽게 풀리는 문제로, 꼬아서 생각해서 시간이 오래 걸렸던 문제 :( 풀이 방법 Input과정에서 치즈의 개수를 저장한다. cheese의 개수가 0이 될때 까지 bfs를 반복, cnt를 저장하고 time을 증가시킨다.2-2. 공기를 만나면 Queue에 삽입,2-3. 치즈와 공기 상관없이 방문처리 필수! 치즈를 만나면 0으로 변경하고 치즈의 개수..