dfs

Algorithm

[백준] 2251. 물통

문제 각각 부피가 A, B, C(1≤A, B, C≤200) 리터인 세 개의 물통이 있다. 처음에는 앞의 두 물통은 비어 있고, 세 번째 물통은 가득(C 리터) 차 있다. 이제 어떤 물통에 들어있는 물을 다른 물통으로 쏟아 부을 수 있는데, 이때에는 한 물통이 비거나, 다른 한 물통이 가득 찰 때까지 물을 부을 수 있다. 이 과정에서 손실되는 물은 없다고 가정한다. 이와 같은 과정을 거치다보면 세 번째 물통(용량이 C인)에 담겨있는 물의 양이 변할 수도 있다. 첫 번째 물통(용량이 A인)이 비어 있을 때, 세 번째 물통(용량이 C인)에 담겨있을 수 있는 물의 양을 모두 구해내는 프로그램을 작성하시오. 입력 첫째 줄에 세 정수 A, B, C가 주어진다. 출력 첫째 줄에 공백으로 구분하여 답을 출력한다. 각 ..

Algorithm

[SWEA] 7793. 오! 나의 여신님

구조화 악마 스킬 발동 → 수진 이동 → 갈 수 있는지 확인의 순서로 구현 주의할 점 초기화 부분에서 에러가 날 수 있으니 신경 써주어야 한다는 점 구현 순서에 대해서 생각 잘 해보기 큐에서 하나 꺼내며 탐색할 때마다 악마를 퍼뜨리는 것이 아닌, 큐에서 같은 이동횟수를 가진 것들을 모두 탐색하고 악마를 퍼뜨려야함(레벨별 탐색 필요) /** * 1. 내가 이동한다 * 2. 악마의 손아귀 스킬 발동한다 * 3. 갈 수 있는지 확인한다. */ 코드 import java.io.*; import java.util.*; public class Solution_7793_오나의여신님{ static int N, M, level; static int startX, startY, endX, endY; static boole..

Algorithm

[SWEA] 1949. 등산로 조정

구조화 2차원 배열(map)을 입력받을 때 제일 큰 값을 mapHigh에 저장 map을 순회하면서 가장 큰 값이 있는 인덱스를 list에 저장 0 ~ k만큼 map을 순회하며 해당 값 - k 가 ≥ 0인 부분에 대해서만 bfs 탐색 bfs탐색이 끝나면 다시 해당 값에 k를 더해준다. bfs는 level 별 탐색을 진행하며 해당 과정이 끝나면 ans와 비교하며 update를 진행한다. ans > level 일 경우 ans를 최신화 ans 출력 BFS를 쓴 이유 : DFS보다 BFS관련 문제들을 더 많이 접하게 되면서 조금 더 익숙했었고, 이번 문제의 경우 BFS로 구현이 가능할 것이라고 판단이 되어 BFS을 사용하였다. BFS를 잘 안다면 DFS문제 또한 구현이 가능하다는 말을 들어 DFS에 소홀히 하기도..

거북목을 가진 김기린
'dfs' 태그의 글 목록