BFS9 백준 알고리즘 13460번: 구슬 탈출 2 문제 정보https://www.acmicpc.net/problem/13460 문제 파악문제 조건3 문제 내용보드에는 '.'(빈칸), '#'(벽), 'O'(구멍), 'B'(파란 구슬), 'R'(빨간 구슬) 총 5가지 요소가 존재한다각 구슬들은 빈칸을 통해 이동할 수 있으며, 벽으로는 이동할 수 없다주어진 보드를 기울여서(왼쪽, 오른쪽, 위, 아래) 구슬을 구멍으로 통과시키되, 빨간 구슬만 통과시켜야 한다위에 첨부된 사진을 생각하면 이해가 될 듯 하다.위 보드의 초기 상태가 하늘을 향하고 있다고 가정하고, 위 사진처럼 아래로 기울인다면 사진의 공이 아래로 쭉 내려와서 오른쪽 아래 모서리에 위치하게 될 것이다.그리고 다시 하늘을 보게 놔두면, 총 한번 기울인 것이 되는 것이다. 하지만, 문제에서는 공이 2.. 알고리즘/Java 2024. 6. 10. 백준 알고리즘 13549번: 숨바꼭질 3 문제 파악문제 조건수빈이의 위치 N(0 동생의 위치 K(0 수빈이의 위치가 X일 때 걸으면 1초 후에 X-1 또는 X+1 로 이동순간이동을 하면, 0초 후에 2*X 로 이동 문제 내용수빈이가 동생을 찾는 가장 빠른 시간을 출력하는 문제이다 풀이생각했던 내용이 문제는 기존 문제인 숨바꼭질(https://www.acmicpc.net/problem/1697) 과는 조금 다른 문제이다.기존 문제는 가중치가 모두 같은(걷는 경우와 순간이동을 하는 경우) 문제이지만, 이 문제는 가중치가 서로 다르다.걷는 경우는 1초 후에 이동하고, 순간이동을 하면 0초 후에 이동을 하기 때문에 순간이동을 하는 경우 우선순위를 두고 최대한 순간이동을 많이 사용하도록 문제를 풀이해야 한다 풀이한 내용내가 풀이했던 방법은 0-1 BF.. 알고리즘/Java 2024. 4. 29. 백준 알고리즘 2933번: 미네랄 문제 정보 2933번: 미네랄창영과 상근은 한 동굴을 놓고 소유권을 주장하고 있다. 두 사람은 막대기를 서로에게 던지는 방법을 이용해 누구의 소유인지를 결정하기로 했다. 싸움은 동굴에서 벌어진다. 동굴에는 미네랄www.acmicpc.net 문제 파악문제 조건1 ≤ R,C ≤ 100 / 1 ≤ N ≤ 100 / 1 막대의 높이 공중에 떠있는 미네랄 클러스터는 없으며, 두 개 이상의 클러스터가 동시에 떨어지는 경우도 없음 문제 내용문제를 이해하는 데에 시간이 많이 소요되었던 문제이다.이 문제는 그림으로 설명하는 것이 가장 빠를 것 같으니, 그림으로 설명해보도록 하겠다 먼저, '.' 과 'x' 로 이루어진 칸 들이 있다. 이들은 R행 C열만큼 즉, R*C개 .. 알고리즘/Java 2024. 4. 24. 백준 알고리즘 3197번: 백조의 호수 문제 정보 3197번: 백조의 호수 입력의 첫째 줄에는 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1500. 다음 R개의 줄에는 각각 길이 C의 문자열이 하나씩 주어진다. '.'은 물 공간, 'X'는 빙판 공간, 'L'은 백조가 있는 공간으로 나타낸다. www.acmicpc.net 핵심 문제 파악 두 마리의 백조가 서로 만나게 되는 날짜를 구하는 문제 호수는 물과 얼음으로 이루어져 있고, 물에 인접한(가로, 세로) 얼음은 다음날 녹는다 백조는 물 공간에서 가로, 세로로만 이동할 수 있다 1 그래프 탐색 1. 물에 인접한 얼음을 하루마다 녹여 간다 맵을 입력받을 때, 물의 위치을 큐에 추가한다 큐에서 하나씩 위치를 빼며, 해당 위치 상하좌우의 얼음을 물로 바꾼다 얼음이었던 위치를 큐에 집어넣고 다음날부.. 알고리즘/Java 2024. 4. 21. 백준 알고리즘 2583번: 영역 구하기 문제 정보 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net 핵심 그래프 탐색 알고리즘을 사용하여 문제를 풀이하자! 다만, 처음에 고민되었던 부분은 각 영역의 오른쪽 위 꼭짓점의 좌표값을 어떻게 처리하느냐.. 였는데 꼭짓점을 좌표라고 생각하지 말고, 해당 영역을 좌표라고 생각해 보는 것이 도움이 되었던 것 같다 예를 들어 (0, 0)은 왼쪽 아래 꼭짓점이라고 생각하기보다는 첫번째 (왼쪽 아래) 영역이라고 생각하면 map[0][0]은 해당 영역을 나타내는 값이 되는 것이다 간단하게 그림으로 나.. 알고리즘/Java 2023. 12. 14. 이전 1 2 다음