Coding Test/알고리즘 이론

최소신장트리-미디엄 (25문제)

hyunkookim 2025. 1. 4. 15:39

 

  • Problem 1: Minimum Spanning Tree
    설명: 주어진 그래프에서 최소 신장 트리를 찾습니다.
    핵심 개념: 그래프, 최소 신장 트리, 크루스칼 알고리즘, 유니온 파인드.
    링크: LeetCode 1000
  • Problem 2: Minimum Cost to Hire K Workers
    설명: K명의 노동자를 고용하는 최소 비용을 계산합니다.
    핵심 개념: 그리디 알고리즘, 우선순위 큐.
    링크: LeetCode 857
  • Problem 3: Minimum Cost to Merge Stones
    설명: 주어진 돌들을 하나로 합치는 최소 비용을 계산합니다.
    핵심 개념: 동적 계획법, 누적 합.
    링크: LeetCode 1000
  • Problem 4: Minimum Cost to Make at Least One Valid Path in a Grid
    설명: 2D 그리드에서 최소 비용으로 유효한 경로를 만드는 방법을 찾습니다.
    핵심 개념: 그래프, 다익스트라 알고리즘.
    링크: LeetCode 1368
  • Problem 5: Minimum Number of Days to Disconnect Island
    설명: 섬을 분리하는 데 필요한 최소 일수를 계산합니다.
    핵심 개념: 그래프, 깊이 우선 탐색.
    링크: LeetCode 1568
  • Problem 6: Minimum Number of Flips to Convert Binary Matrix to Zero Matrix
    설명: 이진 행렬을 모두 0으로 만드는 데 필요한 최소 변환 횟수를 계산합니다.
    핵심 개념: 비트마스킹, 너비 우선 탐색.
    링크: [LeetCode 1284](https://leetcode.com/problems/minimum-number-of-flips-to-convert-binary-m
  • Problem 7: Accounts Merge
    설명: 같은 이메일 계정을 가진 사용자들의 계정을 병합합니다.
    핵심 개념: 그래프, 유니온 파인드.
    링크: LeetCode 721
  • Problem 8: Smallest String With Swaps
    설명: 주어진 스왑으로 사전순으로 가장 작은 문자열을 생성합니다.
    핵심 개념: 유니온 파인드.
    링크: LeetCode 1202
  • Problem 9: Critical Connections in a Network
    설명: 네트워크에서 제거 시 전체 연결을 끊는 중요한 연결을 찾습니다.
    핵심 개념: 그래프, 타잔 알고리즘.
    링크: LeetCode 1192
  • Problem 10: Reconstruct Itinerary
    설명: 주어진 항공편 데이터를 기반으로 여행 경로를 재구성합니다.
    핵심 개념: 그래프, Eulerian Path.
    링크: LeetCode 332
  • Problem 11: Minimum Height Trees
    설명: 루트에서 가장 짧은 높이를 가지는 트리의 루트를 찾습니다.
    핵심 개념: 그래프, 트리의 중심.
    링크: LeetCode 310
  • Problem 12: Longest Increasing Path in a Matrix
    설명: 2D 그리드에서 가장 긴 증가 경로를 찾습니다.
    핵심 개념: 그래프, 동적 계획법.
    링크: LeetCode 329
  • Problem 13: Shortest Path Visiting All Nodes
    설명: 모든 노드를 방문하는 데 필요한 최단 경로를 찾습니다.
    핵심 개념: 그래프, BFS, 비트마스킹.
    링크: LeetCode 847
  • Problem 14: Cheapest Flights Within K Stops
    설명: 주어진 K개의 중간 경유를 포함해 최저 비용으로 도착지에 도달합니다.
    핵심 개념: 그래프, 다익스트라 알고리즘.
    링크: LeetCode 787
  • Problem 15: Parallel Courses
    설명: 모든 코스를 완료하는 데 필요한 최소 학기를 계산합니다.
    핵심 개념: 위상 정렬, 그래프.
    링크: LeetCode 1136
  • Problem 16: Find Eventual Safe States
    설명: 안전한 상태로 이동하는 모든 노드를 찾습니다.
    핵심 개념: 그래프, 위상 정렬.
    링크: LeetCode 802
  • Problem 17: Maximum Number of Edges to Remove
    설명: 그래프를 모두 연결하면서 제거할 수 있는 최대 간선 수를 계산합니다.
    핵심 개념: 그래프, 유니온 파인드.
    링크: LeetCode 1579
  • Problem 18: Check if a Graph is Tree
    설명: 주어진 그래프가 트리인지 확인합니다.
    핵심 개념: 그래프, 유니온 파인드, DFS.
    링크: LeetCode 261
  • Problem 19: Keys and Rooms
    설명: 각 방의 열쇠를 사용해 모든 방을 열 수 있는지 확인합니다.
    핵심 개념: 그래프, DFS, BFS.
    링크: LeetCode 841
  • Problem 20: Maximum Network Rank
    설명: 도시 간 네트워크에서 최대 연결 랭크를 계산합니다.
    핵심 개념: 그래프, 배열.
    링크: LeetCode 1615
  • Problem 21: Evaluate Division
    설명: 나눗셈 관계로 주어진 쿼리의 값을 계산합니다.
    핵심 개념: 그래프, DFS, BFS.
    링크: LeetCode 399
  • Problem 22: Minimum Path Cost in a Grid
    설명: 2D 격자에서 최소 경로 비용을 계산합니다.
    핵심 개념: 그래프, 다익스트라 알고리즘.
    링크: LeetCode 2304
  • Problem 23: Similar String Groups
    설명: 주어진 문자열 그룹을 유사 그룹으로 분류합니다.
    핵심 개념: 유니온 파인드.
    링크: LeetCode 839
  • Problem 24: Most Stones Removed with Same Row or Column
    설명: 같은 행이나 열에서 돌을 제거하여 남길 수 있는 최대 돌 개수를 계산합니다.
    핵심 개념: 그래프, 유니온 파인드.
    링크: LeetCode 947
  • Problem 25: Redundant Connections
    설명: 트리에 추가된 간선을 찾아 제거합니다.
    핵심 개념: 유니온 파인드.
    링크: LeetCode 684