[프로그래머스] 섬 연결하기
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 크루스칼 알고리즘 def solution(n, costs): parents=[0]*n for i in range(n): parents[i]=i costs.sort(key=lambda x:x[2]) total_cost=0 def find_parent(x): if parents[x]!=x: parents[x]=find_parent(parents[x]) return parents[x] def union(a,b): p_a=find_parent(a) p_b=find_parent(b)..
2021. 4. 30.
[프로그래머스] 가장 먼 노드
programmers.co.kr/learn/courses/30/lessons/49189 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr from collections import deque def solution(n, edges): visited=[False]*(n+1) answer=[int(1e9)]*(n+1) info=[[] for _ in range(n+1)] for edge in edges: info[edge[0]].append(edge[1]) info[edge[1]].append(edge[0]) def bfs(v): q=deque() count=1 visited[v]=T..
2021. 4. 28.
[프로그래머스] 정수삼각형
programmers.co.kr/learn/courses/30/lessons/43105 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr def solution(triangle): len_t=len(triangle) d=[] for i in range(len_t): t=[0]*len(triangle[i]) d.append(t) d[0][0]=triangle[0][0] for i in range(1,len_t): for j in range(len(triangle[i])): if j==0: d[i][j]=d[i-1][j]+triangle[i][j] elif j==len(triangle[i]..
2021. 4. 27.