문제를 보고 최소신장트리 유형인 것은 알았으나 알고리즘이 떠오르지 않아 관련 내용을 다시 학습 후 구현했다.크루스칼알고리즘을 사용했다.우선 입력된 간선들을 정렬한 후 작은 것부터 하나씩 확인한다.이후 간선으로 연결된 두 노드의 뿌리(root 노드)를 확인하여 서로 다른
bfs를 통해 탐색을 진행했다.문제를 분석하고 코드를 작성하는 것에는 오래걸리지 않았지만 제출하고 보니 런타임에러라는 결과나 나타났다.메모리 초과 1처음에는 bfs를 탐색하던 도중 target을 발견하면 그대로 return 해버리고 넘어갔다. 이렇게 되니 queue에
최단거리 탐색 / 플로이드 워셜플로이드 워셜 알고리즘을 사용하여 각 도시에서 다른 모든 도시까지의 최단 거리를 구하였다.하나의 도시를 선택하여 친구가 있는 각 도시까지의 왕복거리를 계산한 후 그중 가장 큰 값을 가지는 왕복거리를 저장 한 후 다른도시의 결과와 비교하며
부르드포스 완전탐색우선 입력받으면서 최대, 최소를 저장해 두었다.이후 최소부터 하나씩 target으로 지정 후 해당 비용을 계산하였다.먼저 전체 맵을 돌면서 목표보다 높은 블럭의 경우 블럭을 깎아내고 그만큼 인벤토리에 넣고 시간 비용을 추가해 주었다.이후 다시 맵을 탐
다익스트라 최단경로 탐색문제에서 주어진 2개의 정점은 무조건 거치고 1번 노드에서 n번 노드로 가는 최단 경로를 구하는 문제였다.따라서출발지 -> 정점1 -> 정점2 -> n 또는 출발지 -> 정점2 -> 정점1 -> n 의 경우로 정리할 수 있다. 그사이에 어떤 점을
그리디문제에서 복잡하게 얘기 했지만 결국 a,b,c가 크기별로 정렬되어있을 때 a - 2b + c의 절대값이 가장 큰 경우를 찾는 문제였다.처음 문제를 접했을 때에는 완전탐색으로 판단하여 배열을 정렬하고 for문을 3번돌아 a,b,c를 선택하여 값을 구하는 것으로 시도
BFS, 해쉬크게 의미 없을것 같긴 하지만 뱀과 사다리의 해쉬맵을 구분하였다 조금이라도 시간을 줄일수 있을 것 같았다.우선 큰틀은 bfs였다. 결국 1번에서 100번 까지 가기위한 최단 경로였으니 같은 깊이에서 주사위를 굴려 1~6까지의 범위 만큼 더 간 상태에서 해당