일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- MSBuild
- level4
- 다시풀기
- git
- SQL
- java
- py
- 내휴학생활중의아주큰일
- androidstudio
- BFS
- Matrix Factorization
- level3
- Python
- level1
- 대학원
- 안드로이드스튜디오
- build
- 자바
- 대학원일기
- Github
- 프로그래머스
- LEVEL2
- D3
- WebOS
- 컨트리뷰톤
- 휴학
- 어렵다
- SWEA
- 파이썬
- 컴퓨터비전
Archives
- Today
- Total
bit가 눈 앞에서 왔다갔다
Py) 프로그래머스 42861 섬 연결하기 본문
https://programmers.co.kr/learn/courses/30/lessons/42861
# kruskal 알고리즘 - MST 사용, 최소의 비용으로 사이클을 형성하지 않음
def solution(n, costs):
answer = 0
costs.sort(key=lambda x: x[2]) # kruskal1 - 오름차순 정렬
# costs 내부 원소들을 기준으로 sorting 할건데 그 내부의 2번째 원소 기준으로
candi = set([costs[0][0]]) # 주의!
while len(candi) != n: # kruskal2 - 사이클 형성하지 않으면서 연결
for i in costs:
if i[0] in candi and i[1] in candi:
continue
if i[0] in candi or i[1] in candi:
candi.update([i[0], i[1]]) # 주의!!
answer += i[2]
break
return answer
*피드백
set에 원소로 들어가는건데 계속 []를 안넣어서 not iterable이라는 오류가 계속 뜸
*
kruskal 알고리즘, union-find
예전에 정리해둔게 도움이 많이 됨
2019.11.19 - [Algorithm/Concept] - Union-Find(Disjoint-Set) 합집합 찾기
반응형
'Algorithm > Prob' 카테고리의 다른 글
Py) 프로그래머스 42628 이중우선순위큐 (0) | 2022.02.15 |
---|---|
Py) 프로그래머스 43164 여행경로 (0) | 2022.02.14 |
Py) 프로그래머스 43236 징검다리 (0) | 2022.02.10 |
Py) 프로그래머스 42579 (0) | 2022.02.09 |
Py) 프로그래머스 42885 구명보트 (0) | 2022.02.07 |
Comments