백준 bfs (3) 썸네일형 리스트형 백준 1194번 달이 차오른다, 가자(JAVA) 비트연산, 비트마스킹과 문자만 좀 다룰 줄 알면 쉽게 풀 수 있는 BFS문제 출처 : https://www.acmicpc.net/problem/1194 1194번: 달이 차오른다, 가자. 첫째 줄에 미로의 세로 크기 N과 가로 크기 M이 주어진다. (1 ≤ N, M ≤ 50) 둘째 줄부터 N개의 줄에 미로의 모양이 주어진다. 같은 타입의 열쇠가 여러 개 있을 수 있고, 문도 마찬가지이다. 그리고, www.acmicpc.net import java.util.*; import java.io.*; class Node { int y;//y좌표 int x;//x좌표 int count;//여태까지 움직인 횟수 int bit;//가지고 있는 열쇠 Node(int y,int x,int count,int bit) { t.. 백준 11559번-Puyo Puyo(JAVA) https://www.acmicpc.net/problem/11559 11559번: Puyo Puyo 총 12개의 줄에 필드의 정보가 주어지며, 각 줄에는 6개의 문자가 있다. 이때 .은 빈공간이고 .이 아닌것은 각각의 색깔의 뿌요를 나타낸다. R은 빨강, G는 초록, B는 파랑, P는 보라, Y는 노랑이다. www.acmicpc.net 개인적으론 골4보단 높아야된다고 생각한다. 골 2~3정도?? 중력으로 뿌요뿌요들이 떨어지는 부분은 스택으로 구현하였다. 한 열 을 기준으로 맨 위 행부터 탐색해서 만약 "." 이 아니라면 스택에 넣어준다. 그리고 그 부분은 "."으로 만들어준다. 그렇게 모든 행을 탐색하고 나서 맨 아래행부터 스택에서 pop을 시켜준다. import java.util.*; import ja.. 백준 16236번 -아기상어 https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net BFS이지만 신경써줘야 할게 많아서 까다로운 문제이다. 필자도 몇번의 시도끝에 풀었다. 많은 풀이들이 있지만 나는 나만의 방식으로 풀었다. 먹이의 최단거리는 어떻게 구했는가?? 우선순위 큐를 사용해서 count, y좌표 ,x 좌표 순서로 오름차순으로 정렬했다. 이렇게 되면 같은 거리일때 더 위쪽에 있고, 만약 같은 y좌표라면 더 왼쪽에 있는 좌표를 선택하게 될것이다. 처음 Node를 만들 .. 이전 1 다음