본문 바로가기 메뉴 바로가기

CodeAngie

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

CodeAngie

검색하기 폼
  • 전체보기 (156)
    • Study (142)
      • Algorithm (8)
      • Coding Test (50)
      • Java (4)
      • FastAPI (2)
      • Docker (8)
      • FastCampus (42)
      • Codetree (9)
      • Ect (18)
    • ML (9)
      • Transformer (5)
      • RecSys (0)
      • Ect (4)

최소스패닝트리 (2)
[백준 BOJ / Python] 4386번 별자리 만들기

문제두 별 사이의 거리만큼 별자리를 만는 비용이 든다고 할 때,n개의 별들을 이어 별자리를 만드는 최소 비용을 구하는 문제이다.별자리의 조건두 별 사이의 거리는 서로 다른 두 별을 일직선으로 이은 선의 길이와 같다.모든 별은 직/간접적으로 연결되어 있다.풀이두 별 사이의 거리를 가중치로 두고, 크루스칼 알고리즘을 이용하여 최소 비용을 구한다.직각 삼각형의 대각선의 길이를 구하는 공식을 이용하여 가중치를 구한다.$c^2 = a^2 + b^2 $ $c = \sqrt{{a}^2 + {b}^2}$ $c = \sqrt{(x1-x2)^2 + (y1-y2)^2}$가중치와 두 별의 번호를 간선 list 에 저장한다.가중치를 기준으로 오름차순으로 간선 list를 정렬한다.작은 가중치부터 순서대로 별들을 연결한다. (부모..

Study/Coding Test 2023. 4. 24.
[백준 BOJ / Python] 1197번 최소 스패닝 트리

문제그래프가 주어졌을 때 최소 스패닝 트리(최소 신장 트리)를 구하고 그의 가중치를 출력하는 문제이다.풀이크루스칼 알고리즘을 사용하여 가중치를 계산한다.간선(edge)을 가중치가 작은 순으로 정렬한다.부모 노드를 자기 자신으로 초기화한다.가장 작은 가중치부터 순서대로 노드를 서로 연결한다.노드를 서로 연결한다는 것은 두 노드가 같은 루트를 갖게 한다는 의미이다.즉 부모 노드가 다를 경우, 아직 서로 연결이 안 된 노드이기에union을 통해 부모 노드를 동일하게 만들어 줌으로써 서로 연결하는 것이다.Python 코드import syssys.setrecursionlimit(10**6)input = sys.stdin.readlinev,e = map(int,input().split())edges = [list(..

Study/Coding Test 2023. 4. 19.
이전 1 다음
이전 다음
«   2025/07   »
일 월 화 수 목 금 토
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
TAG
  • 티스토리챌린지
  • Transformer
  • 파이썬
  • 백준
  • BFS
  • dfs
  • COLAB
  • 최소신장트리
  • DP
  • kruskal
  • 프로그래머스
  • 코드트리
  • greedy
  • 분리집합
  • 오블완
  • python
  • disjoint set
  • 코딩테스트
  • lis
  • 그리디
  • 구현
  • MySQL
  • 트랜스포머
  • docker
  • java
  • Django
  • pytorch
  • 알고리즘
  • boj
  • 누적합
more
링크

Blog is powered by Tistory / Designed by Tistory

티스토리툴바