1717. 집합의 표현

2024. 1. 7. 19:10·Algorithm/BaekJoon Review

https://www.acmicpc.net/problem/1717

문제 해석

  • 합집합과 같은 집합인지 확인하는 문제로 분리집합(Union-Find)의 대표적인 문제이다.

 

구현 방법

  • 총 3단계로 나누어 구현
    1. Root를 저장할 배열 초기화
    2. Find 함수 작성
      • 같은 Root를 가지고 있는지 확인( 같은 집합인가 확인)
    3. Union 함수 작성
      • 서로 다른 두 집합을 합집합 (Root 를 같게 함)
      • 이미 같으면 할 필요 없음

코드

# 1717 집합의 표현
import sys
input = sys.stdin.readline

def find(num:int)->int:
    if parent[num] == num:
        return num
    parent[num] = find(parent[num])
    return parent[num]


def union(num1:int, num2:int) -> None:
    x = find(num1)
    y = find(num2)
    if x != y:
        parent[y] = x
    return


def solution(n:int, m:int) -> None:
    for _ in range(m):
        order, a, b = map(int, input().split())
        if order:       # 같은 집합인가 확인
            if find(a) == find(b):
                print("yes")
            else:
                print("no")
        else:           # 합집합
            union(a, b)
    return


if __name__ == "__main__":
    # input
    n, m = map(int, input().split())
    parent = [i for i in range(n+1)]
    solution(n, m)
반응형

'Algorithm > BaekJoon Review' 카테고리의 다른 글

9935. 문자열 폭발  (0) 2024.01.21
1149. RGB거리  (0) 2024.01.15
15684. 사다리 조작  (1) 2024.01.12
1932. 정수 삼각형  (0) 2024.01.11
18111. 마인크래프트  (1) 2024.01.09
'Algorithm/BaekJoon Review' 카테고리의 다른 글
  • 1149. RGB거리
  • 15684. 사다리 조작
  • 1932. 정수 삼각형
  • 18111. 마인크래프트
devSeongKu
devSeongKu
#FE_개발일지 #일상 #알고리즘
    • 분류 전체보기 (60)
      • Algorithm (41)
        • 개념 (8)
        • SW Expert Academy Review (22)
        • BaekJoon Review (11)
      • WEB (12)
        • HTML (5)
        • CSS (2)
        • JavaScript (1)
        • Django (4)
      • CS (3)
        • Git (2)
      • PROJECT (2)
        • 에러핸들링 (2)
      • 기타 (2)
  • 반응형
  • devSeongKu
    From The Present
    devSeongKu
  • 전체
    오늘
    어제
  • 링크

    • Github
  • 인기 글

  • 태그

    스프린트프론트엔드8기
    html
    알고리즘
    Baekjoon
    취업까지달린다
    SWEA
    Python
    Algorithm
    코드잇스프린트
    SW Expert Academy
  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
devSeongKu
1717. 집합의 표현
상단으로

티스토리툴바