본문 바로가기

분류 전체보기161

[VS Code] 자동 정렬 단축키 reformatting 1. ctrl + K + F (ctrl 계속 누른 상태로 K, F 연달아 누르기) 2. alt + F8 (적용될 수도, 안 될 수도..) 2020. 10. 12.
크루스칼 알고리즘(Kruskal's algorithm) 1. 신장 트리(Spanning Tree)의 조건 - 주어진 그래프의 모든 노드를 연결해야 한다 - 단, 노드를 연결할 때 사이클이 생겨선 안 된다 2. 최소 신장 트리 MST(Minimum Spanning Tree) - 최소 비용(간선 가중치의 합이 최소)의 Spanning Tree 3. 크루스칼 알고리즘(Kruskal's algorithm) - 간선의 비용을 기준으로 오름차순 정렬하여 비교할 노드를 선정 - 두 노드씩 최상위 노드를 탐색한 후, 서로 다를 경우 노드를 연결하는 알고리즘 - 부모 노드가 서로 다르다는 것은 연결해도 사이클이 발생하지 않는다는 것을 의미함 * 유니온-파인드(Union-Find) 알고리즘 활용 4. 시간 복잡도: O(E log E) def find(node): # path .. 2020. 10. 11.
7490-0 만들기 (python) - 재귀함수 사용 - 무턱대고 전부가 아니라 무엇을 재귀함수를 이용해 구할 것인가 생각해보며 풀면 좋다! import copy def recursive(array, n): if len(array) == n: operators_list.append(copy.deepcopy(array)) return array.append(' ') recursive(array, n) array.pop() array.append('+') recursive(array, n) array.pop() array.append('-') recursive(array, n) array.pop() tc = int(input()) for _ in range(tc): operators_list = [] n = int(input()) recurs.. 2020. 10. 11.
2747-피보나치 수 (python) 1. 내가 작성한 코드 (DP를 이용 1) x = int(input()) if x 1: cache = [0] * (x+1) cache[0] = 0 cache[1] = 1 for x in range(2, x+1): cache[x] = cache[x-1] + cache[x-2] print(cache[x]) 2. 1번 통과 후 참고한 코드 (DP를 이용-2) n = int(input()) a, b = 0, 1 while n > 0: a, b = b, a + b n -= 1 print(a) - 출처 : FASTCAMPUS 2020. 10. 11.