본문 바로가기

코딩테스트 준비(kotlin)/알고리즘2

[그래프 알고리즘] 크루스칼 알고리즘 Kruskal Algorithm 그래프 알고리즘이란, 그래프와 같은 복잡하고 연결성이 높은 자료구조에서순회 (Graph Traversal), 탐색 및 검색 (Graph Search) 등과 같은 목적으로 사용되는 알고리즘이다. 신장 트리란, 그래프 내의 모든 정점을 포함하는 트리로, 최소의 간선으로 모든 정점이 연결되어 있는 순환성이 없는 부분 그래프이다.  최소 신장 트리 알고리즘이란,최소 신장 트리란 그래프 내의 여러 신장 트리 중 가중치가 최소가 되는 신장 트리를 말하며, 최소 신장 트리 알고리즘은 그래프 내의 최소 신장 트리를 찾는 알고리즘이다.각 엣지에 가중치가 부여된 무방향 그래프에서 만들어지는 신장 트리중 가중치의 합이 가장 작은 신장 트리를 특별히 최소 비용 신장 트리(minimum cost spanning tree)라고 .. 2024. 8. 5.
[프로그래머스,kotlin] 쿼드압축 후 개수 세기 문제해결 POINT문제설명의 2,3 번 조건을 통해 이 문제는 분할정복 문제임을 알 수 있다.당신이 압축하고자 하는 특정 영역을 S라고 정의합니다.만약 S 내부에 있는 모든 수가 같은 값이라면, S를 해당 수 하나로 압축시킵니다.그렇지 않다면, S를 정확히 4개의 균일한 정사각형 영역(입출력 예를 참고해주시기 바랍니다.)으로 쪼갠 뒤, 각 정사각형 영역에 대해 같은 방식의 압축을 시도합니다.분할정복 문제는 아래 3단계를 통해 해결 할 수 있다.   1. 작은 영역으로 나눈다.   2. 나누어진 작은 영역을 계산한다   3. 필요하다면  해결된 답을 모은다.  isUniform 함수:이 함수는 주어진 영역이 모두 동일한 값을 가지는지 확인합니다.x와 y는 영역의 시작 좌표, size는 영역의 크기입니다.영.. 2024. 7. 15.