그래프 DFS
그래프 노드(Node): 연결 관계를 가진 각 데이터를 의미합니다. 정점(vertex)라고도 합니다. 간선(Edge): 노드 간의 관계를 선으로 표시한 선입니다. 인접 노드(Adjacent Node): 간선으로 직접 연결된 노드(또는 정점) DFS (Depth First Search) 갈 수 있는 만큼 계속해서 탐색하다가 갈 수 없게 되면 다른 방향으로 다시 탐색하는 구조입니다. 실행 과정 노드를 방문하고 깊이 우선으로 인접한 노드를 방문한다. 또 그 노드를 방문해서 깊이 우선으로 인접한 노드를 방문한다. 위 과정을 반복한다. 구현 코드 graph = { 1: [2, 3, 4], 2: [5], 3: [5], 4: [], 5: [6, 7], 6: [], 7: [3], } def dfs_recursive(n..
상위 k 빈도수 - 해시
상위 k 빈도수 상위 k번 등장하는 요소를 추출하라. 입력 : nums=[1,1,1,2,2,3], k=2 출력 : [1,2] #내가 푼 풀이 from collections import Counter import heapq def Solution(num,k): answer=[] freqs=Counter(num) freqs_heap=[] for i in freqs: heapq.heappush(freqs_heap,(-freqs[i],i)) for i in range(k): answer.append(heapq.heappop(freqs_heap)[1]) return answer Counter를 사용하여 문자열의 빈도수로 딕셔너리 생성하여준다음 상위 k개를 뽑아주면 된다. 힙은 키순서대로 정렬 되기 때문에 빈도수를..