백준 1005 ACM Craft 풀이 예제 2번의 건설 순서를 그래프로 표현해보았습니다. 이 그림에서 결과값을 계산하
백준 1103 게임
백준 6091 핑크 플로이드 풀이
빌딩을 탈출할 수 있는 최단 시간을 구해야 하기 때문에 BFS 를 사용하기로 했습니다.매 초마다 발생하는 일은 상근이의 이동과 불 번짐입니다. 하지만 해당 초에 상근이가 이동하는 경우의 수는 많고 불 번짐은 1회만 발생해야 합니다.bfs에서는 depth가 같은 poin
Virus 객체를 만들어 num으로 정렬할 수 있도록 Comparable을 implements하여 compareTo를 override하였습니다.입력을 받으면서 0이 아닌 숫자들은 PriorityQueue에 담았습니다.주어진 S만큼 for문을 돌며 현재 pq에 있는 Vi
백준 16434 드래곤 앤 던전
모든 Field를 최소 비용으로 연결하라는 점에서 MST를 떠올렸습니다. MST를 구하는 알고리즘 중 간선 중심인 Kruskal 알고리즘을 사용하여 풀었습니다.이 문제에서 메모리 초과, 시간 초과를 모두 겪었습니다.메모리 초과PriorityQueue에 모든 간선을 추가
백준 17780 새로운 게임
처음에는 간단하게 청소기에서부터 BFS를 시작하고 가까운 더러운 방을 마주하고 그 방부터 다시 BFS를 돌리는, 무조건 가장 짧은 거리의 방을 선택하여 이동하는 그리디적인 생각으로 풀이를 하였습니다. 하지만 역시 골1은 그렇게 간단하게 풀릴리가 없었습니다.위의 풀이는
그리디적으로 만약 목표 상태와 현재 상태가 다를 경우, 스위치를 누릅니다. 이때, 스위치를 최소한으로 누르기 위해 이미 지나온 스위치를 다시 누르지 않도록 해야 합니다. 즉, 1 ~ N번 순서대로 스위치를 누를지 말지 판별합니다.만약, i번째 스위치를 누를 때 현재 i