[Python] 백준 21924 도시 건설

2022. 2. 21. 23:10·CS/알고리즘 & 문제풀이

문제 링크 : https://www.acmicpc.net/problem/21924

 

21924번: 도시 건설

첫 번째 줄에 건물의 개수 $N$ $(3 \le N \le 10^5 )$와 도로의 개수 $M$ $(2 \le M \le min( {N(N-1) \over 2}, 5×10^5)) $가 주어진다. 두 번째 줄 부터 $M + 1$줄까지 건물의 번호 $a$, $b$ $(1 \le a, b \le N, a ≠ b)$와 두

www.acmicpc.net

 

1. 접근 방법

오랜만에 MSP 문제를 접근하여 방법이 잘 떠오르지 않아 여러 가지 방법을 시도하다가, 결국 union-find로 해결했다

 

2. 풀이 코드

🖥python 코드 링크: https://github.com/mintropy/baekjoon_py/blob/master/21000/21924.py

 

GitHub - mintropy/baekjoon_py: BOJ를 Python으로 해결한 코드의 저장소입니다.

BOJ를 Python으로 해결한 코드의 저장소입니다. Contribute to mintropy/baekjoon_py development by creating an account on GitHub.

github.com

📕코드 해설

각 도로를 비용 기준 오름차순으로 정렬 후, 하나씩 확인하면서 union-find 진행했다.

이후 한번 더 전체 점을 확인하며 모든 점이 하나로 합쳐졌는지, 그리고 각 점을 union 할 때, 더 번호가 작은 쪽으로 했기 때문에 최종적으로 1로 모두 연결되는지 확인하여 결과를 출력한다

 

3. 생각 정리

다양한 알고리즘을 길게 공부하지 못하고 시간이 흘러 돌아보니 잘 기억나지 않는 알고리즘과 방법도 많다.

그러나 일부 잘 단련된 알고리즘들은 또 그 나름대로 잘 풀려가는걸 보니, 짧지 않은 시간 동안 다양한 방면으로 잘 공부했나 싶은 생각도 든다.

'CS > 알고리즘 & 문제풀이' 카테고리의 다른 글

[Python] 백준 11000 강의실 배정  (0) 2022.02.27
[Python] 백준 13164 행복 유치원  (0) 2022.02.27
[Python] 백준 16562 친구비  (0) 2022.02.20
[Python] 백준 18809 Gaaaaaaaaaarden  (0) 2022.02.02
[Python] 백준 2173 양파깡 만들기  (0) 2022.01.13
'CS/알고리즘 & 문제풀이' 카테고리의 다른 글
  • [Python] 백준 11000 강의실 배정
  • [Python] 백준 13164 행복 유치원
  • [Python] 백준 16562 친구비
  • [Python] 백준 18809 Gaaaaaaaaaarden
mintropy
mintropy
민트로피의 하루하루 오늘보다 더 나은 내일
  • mintropy
    민트로피의 민트초코
    mintropy
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 생각 정리
        • 코딩테스트
        • SSAFY
      • 디지털 노트
        • Obsidian.md
        • Notion
      • CS
        • 알고리즘 & 문제풀이
        • AI
        • DB
        • 디자인패턴
      • Projects
      • Python
        • Python Web Framework
      • JavaScript
        • React.js
      • Docker
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    web framework
    ps
    회고
    fastapi
    파이썬
    line
    SSAFY
    markdown
    프로젝트
    프로그래머스
    코딩테스트
    게임이론
    Combinatorics
    bfs
    project_zero
    DP
    pydantic
    Python
    백준
    조건분기
    그리디
    카카오
    django
    dfs
    알고리즘
    브루트포스
    DRF
    trie
    union-find
    구현
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
mintropy
[Python] 백준 21924 도시 건설
상단으로

티스토리툴바