일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 막내의막무가내 플러터
- 안드로이드 sunflower
- 안드로이드
- 주엽역 생활맥주
- 부스트코스
- 막내의막무가내 코틀린
- 막내의막무가내 일상
- 막내의막무가내 코틀린 안드로이드
- 안드로이드 Sunflower 스터디
- 막내의막무가내 알고리즘
- flutter network call
- 막내의막무가내 SQL
- 막내의 막무가내 알고리즘
- 막내의막무가내 목표 및 회고
- 프래그먼트
- 막내의막무가내 안드로이드 코틀린
- 막내의막무가내 안드로이드
- 막내의 막무가내
- 막내의막무가내 플러터 flutter
- 부스트코스에이스
- 주택가 잠실새내
- 막내의막무가내 rxjava
- 프로그래머스 알고리즘
- 막내의막무가내
- 막무가내
- 막내의막무가내 프로그래밍
- 막내의막무가내 코볼 COBOL
- 2022년 6월 일상
- Fragment
- 막내의막무가내 안드로이드 에러 해결
- Today
- Total
목록알고리즘/유니온파인드, 최소신장트리(크루스칼) (12)
막내의 막무가내 프로그래밍 & 일상
https://www.acmicpc.net/problem/17352
www.acmicpc.net/problem/10423 10423번: 전기가 부족해 첫째 줄에는 도시의 개수 N(1 ≤ N ≤ 1,000)과 설치 가능한 케이블의 수 M(1 ≤ M ≤ 100,000)개, 발전소의 개수 K(1 ≤ K ≤ N)개가 주어진다. 둘째 줄에는 발전소가 설치된 도시의 번호가 주어진다. 셋째 www.acmicpc.net 최소신장트리 유형 문제를 풀어봤습니다. ㅎㅎ 오타하나떄문에 시간을 많이 날렸습니다. ㅠㅠ ;; 문제를 간단히 설명하면, 발전소에서 전기가 나오고 도시들이 모두 전기를 저렴하게 연결하는 비용을 구하면 됩니다. 크루스칼 알고리즘을 사용하여 풀면됩니다. 기본적인 최소신장트리 문제와 다른게 있다면, 모든 도시들을 그냥 싼 비용으로 연결하는게 아니라 여러개의 발전소가 있고 발전..
www.acmicpc.net/problem/16398 16398번: 행성 연결 홍익 제국의 중심은 행성 T이다. 제국의 황제 윤석이는 행성 T에서 제국을 효과적으로 통치하기 위해서, N개의 행성 간에 플로우를 설치하려고 한다. 두 행성 간에 플로우를 설치하면 제국의 함 www.acmicpc.net 최소신장트리 복습 겸 백준 분류별 풀기에서 기본 유형을 하나 풀어봤습니다. 이전에 많이 풀었던 유형이라 설명은 생략하도록 하겠습니다. [Java] import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Scanner; class Main { private static int[] parent; ..
programmers.co.kr/learn/courses/30/lessons/42861 코딩테스트 연습 - 섬 연결하기 4 [[0,1,1],[0,2,2],[1,2,5],[1,3,1],[2,3,8]] 4 programmers.co.kr 프로그래머스 LV3 그리디 유형의 선 연결하기 문제입니다. 섬이 여러개 있는데 최소 비용으로 모든 섬을 연결해야합니다. 전형적인 최소신장트리 문제로 크루스칼 알고리즘을 사용하게 됩니다. 오랜만에 푸는 유형이었습니다. youngest-programming.tistory.com/category/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98/%EC%9C%A0%EB%8B%88%EC%98%A8%ED%8C%8C%EC%9D%B8%EB%93%9C%2C%20%EC%B5%..
www.acmicpc.net/problem/1077510775번: 공항예제 1 : [2][?][?][1] 형태로 도킹시킬 수 있다. 3번째 비행기는 도킹시킬 수 없다. 예제 2 : [1][2][3][?] 형태로 도킹 시킬 수 있고, 4번째 비행기는 절대 도킹 시킬 수 없어서 이후 추가적인 도킹은 불www.acmicpc.net 백준 공항 문제를 풀어봤습니다. 백준 유형별문제에서 유니온파인드 문제를 골라푼거라 접근을 쉽게 할 수 있었습니다. 해결방법을 요약하면,1. Gi 비행기는 자신과 같거나 작은 게이트번호에만 도킹할 수 있다.2. 그러므로 최대한 많은 비행기를 도킹시키려면 자신이 현재 도킹될 번호 -1 로 union을 해주며 추가 도킹한다. (이때 도킹될 번호는 find를 사용하면 된다.) 도킹이 가능했..
www.acmicpc.net/problem/2887 2887번: 행성 터널 첫째 줄에 행성의 개수 N이 주어진다. (1 ≤ N ≤ 100,000) 다음 N개 줄에는 각 행성의 x, y, z좌표가 주어진다. 좌표는 -109보다 크거나 같고, 109보다 작거나 같은 정수이다. 한 위치에 행성이 두 개 이 www.acmicpc.net 백준 최소신장트리 문제인 행성 터널 문제를 풀어봤습니다. ㅎㅎ 처음에 평소대로 푼 후 제출을 하였는데 메모리 초과가 일어났습니다. //모든 행성 관계 연결(엣지 초기화) for (int i = 0; i < N - 1; i++) { Space space = spaces[i]; for (int j = i + 1; j < N; j++) { Space space2 = spaces[j];..
www.acmicpc.net/problem/4195 4195번: 친구 네트워크 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스의 첫째 줄에는 친구 관계의 수 F가 주어지며, 이 값은 100,000을 넘지 않는다. 다음 F개의 줄에는 친구 관계가 생긴 순서대로 주어진 www.acmicpc.net 백준 유니온 파인드 단계별 풀기의 마지막 문제 친구 네트워크 문제입니다. ㅎㅎ 이전에 풀어온 유니온 파인드 문제와 다르게 노드가 숫자가 아닌 문자열이 주어졌습니다. 이를 해결하기 위해 HashMap을 사용하여 이름(문자열)을 노드번호(Int)로 변환함으로써 기존의 숫자 노드를 활용한 문제처럼 바꿔줍니다. 또한 친구의 수를 구해야하므로 추가적으로 count 배열도 사용해주도록 합니다. 이 부분 빼고는 ..
www.acmicpc.net/step/15 최소 신장 트리 단계 신장 트리가 중요한 이유는, 가장 적은 개수의 간선으로 모든 정점을 연결할 수 있기 때문입니다. 이 문제를 통해 확인해 봅시다. www.acmicpc.net 백준 최소신장트리 단계별풀기의 4번째 문제입니다. ㅎㅎ 이전 단계문제들과 거의 비슷합니다. N개의 나의 위치와 우주신들의 좌표가 주어집니다. 그다음 M개의 이어진 좌표들이 주어 집니다. 이 이후에 최소비용으로 모두 연결해서 가장 낮은 비용으로 나와 우주신들이 모두 건너건너 최소신장트리로 연결되게 하면 끝입니다. 기존의 크루스칼 알고리즘을 사용하면 풀립니다. 추가로 Math.round() 를 사용하면 4.00일 경우 0이 잘려서 4.0으로 출력이 되서 이럴때는 String.foramt()..
www.acmicpc.net/problem/4386 4386번: 별자리 만들기 도현이는 우주의 신이다. 이제 도현이는 아무렇게나 널브러져 있는 n개의 별들을 이어서 별자리를 하나 만들 것이다. 별자리의 조건은 다음과 같다. 별자리를 이루는 선은 서로 다른 두 별을 일 www.acmicpc.net 백준 최소신장트리 단계별 풀기 3번째 문제입니다. 이전 단계 문제와 마찬가지로 크루스칼 알고리즘과 유니온-파인드를 사용합니다. 입력값하고 가중치 넣는 방식만 변형된 문제였습니다. [Java] import java.util.ArrayList; import java.util.Collections; import java.util.Scanner; class Main { private static int[] parent;..
www.acmicpc.net/problem/1197 1197번: 최소 스패닝 트리 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 www.acmicpc.net 백준 최소신장트리 단계별풀기의 두번째 문제입니다. ㅎㅎ 최소신장트리는 크르수칼 알고리즘을 사용하는 문제입니다. 노드개수를 V, 변의 개수를 E라고 하면 O(ElogV)의 시간복잡도를 가집니다. 저는 풀기전 영상을 통해 개념을 먼저 복습하고 봤습니다. www.youtube.com/watch?v=LQ3JHknGy8c 풀이방법은 다음과 같습니다. 1. 노드의 연결요소들을..
www.acmicpc.net/problem/1976 1976번: 여행 가자 동혁이는 친구들과 함께 여행을 가려고 한다. 한국에는 도시가 N개 있고 임의의 두 도시 사이에 길이 있을 수도, 없을 수도 있다. 동혁이의 여행 일정이 주어졌을 때, 이 여행 경로가 가능한 것인 www.acmicpc.net 백준 유니온파인드 단계별 풀기의 두번째 문제입니다. youngest-programming.tistory.com/427 [알고리즘] 백준 1717 집합의 표현 -유니온파인트(Union-find)- 자바 www.acmicpc.net/problem/1717 1717번: 집합의 표현 첫째 줄에 n(1≤n≤1,000,000), m(1≤m≤100,000)이 주어진다. m은 입력으로 주어지는 연산의 개수이다. 다음 m개의 ..
www.acmicpc.net/problem/1717 1717번: 집합의 표현 첫째 줄에 n(1≤n≤1,000,000), m(1≤m≤100,000)이 주어진다. m은 입력으로 주어지는 연산의 개수이다. 다음 m개의 줄에는 각각의 연산이 주어진다. 합집합은 0 a b의 형태로 입력이 주어진다. 이는 a가 www.acmicpc.net 백준 유니온파인드 단계별풀기의 문제입니다. 처음 푸는 유형이라 밑을 참고해서 공부 후 풀었습니다. brenden.tistory.com/34 [백준 1717] 집합의 표현 글에 개요 백준 알고리즘 1717번 "집합의 표현" 문제입니다. 앞서 다루었던, 아래 참고할 글 1번에 정리한 내용을 보시면 쉽게 푸실 수 있는 문제입니다. 유니온 파인드 (Union-Find)를 정리한 글 내용..