https://acmicpc.net/problem/1719\*\*전체 경로에 대한 비용을 구해야 하기 때문에 플로이드 워셜을 사용했다. 집하장의 개수인 n이 최대 200이기 때문에 플로이드 워셜을 사용해도 될 것이라고 판단했다.경로 중 가장 처음의 집하장을 찾
https://acmicpc.net/problem/14500ㅗ자 모양 블록을 제외한 경우 모두 브루트포스를 사용해 상하좌우 dfs 탐색을 이용하여 만들 수 있는 블록이다. 따라서 depth가 4, 즉 블록 크기가 4인 경우에 answer을 업데이트한다.반면 ㅗ
최소 스패닝 트리를 구현하는 방법들에 대해 알아보고 크루스칼 알고리즘을 사용하여 백준 1647번 도시 분할 계획 문제를 해결해보자.
https://acmicpc.net/problem/2234\*\*1. bfs를 이용해서 방의 최대 넓이와 개수를 구했다.2\. 벽의 정보가 이진수의 합으로 주어지기 때문에 8, 4, 2, 1 순서로 (dx, dy도 이 방향에 맞춰서 선언) 벽의 정보를 확인해주
https://acmicpc.net/problem/2002처음에 문제 이해를 잘못해서 그냥 들어온 순서보다 나간 순서 값이 더 작으면 추월한다고 짜줬었는데 틀려서 생각해보니 추월한 차가 많아지면 들어온 순서보다 나간 순서 값이 더 작지 않더라도 추월한 경우가
https://acmicpc.net/problem/13335그림에서 보고 큐를 사용해서 풀었다.처음에 큐에 다리의 길이만큼 0을 다리의 길이를 표시해주었다. 차가 다리에 들어와서 나가기까지의 시간을 카운트할 수 있도록 빈 공간을 넣어준 것이다.그리고 while
https://acmicpc.net/problem/2591\*\*카드를 만들 수 있는 경우가 한 자리 수로 만드는 경우에는 1~9 / 두자리 수로 만드는 경우에는 10~34로 만들 수 있다.dpi에 i번째 숫자로 한자리수를 만드는 경우와 i-1번째 숫자와 i번
골드5 / 다익스트라
골드4 유니온 파인드