목록PS/DFS&BFS (3)
개발 공부 기록
Question https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 💡 Solution BFS로 풀이하였으며, 토마토 문제와 같이 BFS 유형을 공부하기에 적합한 문제인 거 같습니다. 큐를 만들어 x, y 좌표(배추가 있는 좌표)를 넣고 해당 좌표를 기준으로 상하좌우로 움직입니다. 움직인 좌표에 배추가 있다면 또다시 해당 좌표를 큐에 넣어 상하좌우로 이동하며 탐색하는 방식입니다. 💻 Code import java.io.BufferedReader; import ..
Question https://www.acmicpc.net/problem/5014 5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net 💡 Solution BFS 유형의 문제로, 가장 먼저 출발하는 층(S)을 큐에 넣고, 해당 층을 기준으로 위로 혹은 아래로 이동합니다. 그럼 이동한 층을 다시 큐에 넣어 위로 혹은 아래로 탐색하는 과정을 반복합니다. 이때, 이동한 층이 F층보다 높거나 1층보다 낮으면 패스합니다. 만일 큐가 빌 때까지 목적지를 만나지 못하고 종료될 경우엔 "use the stairs"를 출력합니다. 유의할 점은..
Question https://www.acmicpc.net/problem/9019 9019번: DSLR 네 개의 명령어 D, S, L, R 을 이용하는 간단한 계산기가 있다. 이 계산기에는 레지스터가 하나 있는데, 이 레지스터에는 0 이상 10,000 미만의 십진수를 저장할 수 있다. 각 명령어는 이 레지스터에 www.acmicpc.net 💡 Solution 아래는 BFS를 이용한 방식으로, 먼저 큐에 A를 넣습니다. 이후 A에서 DSLR 연산을 거친 새로운 수를 큐에 넣고, 다시 해당 수에서 DSLR 연산을 거쳐가는 방식입니다. 이 과정을 숫자 B에 들릴 때까지(visites[B] == true) 수행합니다. 💻 Code import java.io.BufferedReader; import java.io..