(알고리즘)DFS(Depth-First-Search) 깊이 우선 탐색 - 파이썬
DFS 1. DFS동작 예시 DFS(Depth-First-Search)는 말 그대로 깊은 곳에 있는 노드를 탐색하는 방법이다. DFS는 재귀함수를 사용하여 깊이 있는노드를 탐색한다. *재귀함수는 스택과 유사하다. 집어 넣은 순서대로 1->2->4->8->5->3->6->7 2. DFS코드 예제(python) import graphlib graph=[ [], #노드가 1부터 시작하므로 비움. [2,5,3], #1과 인접한 노드 [1,4,8], #2와 인접한 노드 [1,6,7], #3과 인접한 노드 [2], #4와 인접한 노드 [1,8], #5와 인접한 노드 [3,7], #6과 인접한 노드 [3,6], #7과 인접한 노드 [2,5] #8과 인접한 노드 ] visited = [False]*len(graph) ..
2021. 6. 11.
파이썬 - 리스트 중복 제거하기(다양한 방법) + 예제
파이썬 리스트 중복제거 문제를 풀고나서 어떤 방법이 활용됐는지 더보기를 눌러 확인 하세요. 더보기 1. set함수 ex) arr = [1, 1, 3, 5, 5, 6] print(set(arr)) # {1, 3, 5, 6} 2.딕셔너리 ex) arr = [1, 1, 3, 5, 5, 6] dic = {arr[i]:i for i in range (len(arr))} for key in dic.keys: print(key, end=' ') # 1 3 5 6 예제1 (쉬움) 문제 리스트의 중복을 제거해주는 프로그램을 만들어라. 입력 첫째줄에는 리스트 원소들이 주어지며, 각 원소마다 한 칸의 공백이 있다. 출력 첫 째줄에 중복이 제거된 리스트 원소들이 출력된다. 원소들의 순서는 제일 작은 것부터 출력한다 예제 입력..
2021. 6. 9.
코딩테스트 준비 - 백준18870번 좌표압축 풀이:파이썬 딕셔너리 활용 (파이썬)
백준 18870번 풀이 문제풀러가기 https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 문제 풀이 1. 문제 해설 "Xi>Xj를 만족하는 서로 다른 좌표의 개수와 같아야된다" 라는 뜻은 즉 Xi가 리스트 안에서의 크기 순서를 출력하면 된다는 말입니다. (크기 순서는 0부터 시작.) 더보기 예를 들면 arr=[ 1,0,5,2,1] 라고 하면, 여기서 arr[0], 즉 1로 예를 들면, arr 리스트 ..
2021. 6. 7.