Language/Python

Language/Python

[Python] DFS / BFS 정리

🌝BFS : 너비우선탐색 가까운 노드부터 탐색하는 알고리즘 선입선출 방식인 큐 자료구조를 이용 🌜동작 방식 1. 탐색 시작 노드를 큐에 삽입하고 방문 처리를 한다. 2. 큐에서 노드를 꺼내 해당 노드의 인접 노드 중에서 방문하지 않은 노드를 모두 큐에 삽입하고 방문 처리를 한다. 3. 2번의 과정을 더 이상 수행할 수 없을 때까지 반복한다. 🌜탐색 소요 시간 : O(N) from collections import deque def bfs(graph, start, visited): queue = deque([start]) visited[start] = True while queue: v=queue.popleft() print(v,end='') for i in graph[v]: if not visited[i..

Language/Python

[Python] 파이썬 리스트 정리 - (stack이용, range, 리스트 컴프리헨션, 중복값 제거, in, not in)

👉 파이썬 리스트를 stack 자료구조로 사용하기 Stack : LIFO 구조 : last in, first out append(x) 함수 : 리스트의 맨 마지막에 x값을 추가해주는 함수 pop() 함수 : 리스트의 맨 마지막에 값을 반환하고, 리스트에서 그 값을 제거해주는 함수 👉 파이썬 리스트 특정 값 확인 (in, not in) (확인할 값) in [list] : 확인할 값이 리스트 내부에 있으면 true를 반환 , 없으면 false반환 (확인할 값) not in [list] : 확인할 값이 리스트 내부에 들어있지 않을때 true, 값이 있을때 false 반환 👉 파이썬 리스트 생성 range 이용 (comprehension) Comprehension : 규칙이 있는 걸 간단하게 리스트로 만들어주는..

Language/Python

[Python] 파이썬 리스트 List 정리 ( +, * , 메소드, 얕은 복사, 깊은복사)

리스트란 ? 시퀀스 데이터 : 데이터에 순서가 존재하는 데이터 index를 이용해서 리스트[index]로 한번에 접근 가능하다 리스트를 만드는 방법 👉대괄호 이용 a = [1,2,3] b = ['a','b','c'] c = [] #요소가 없는 비어있는 리스트 👉list()를 이용한 방법 d = list() 👉2중 for 문으로 2차원 배열 선언 array = [[0 for col in range(n) for row in range(n)] 👉연산자와 for 문으로 2차원 배열 선언 array = [ [0] * n for _ in range(n)] 👉연산자 * 로 2중 리스트 선언 ❌ array = [ [0] * n ] * n ] 이 방법으로 배열을 선언하게 되면, 단순히 요소를 복사하게 되는 얕은 복사가..

Language/Python

[Python] Sorted함수 정리

👉형태 sorted(정렬할 데이터) sorted(정렬할 데이터, reverse 파라미터) sorted(정렬할 데이터, key 파라미터) sorted(정렬할 데이터, key 파라미터, reverse 파라미터) 👉정렬할 데이터 : iterable한 데이터여한다. 👉key : sorted 함수의 key 파라미터는 어떤 것을 기준으로 정렬할 것인가에 대한 기준 👉reverse : 오름차순 내림차순으로 정렬할지 정한다 디폴트는 reverse = False로 오름차순으로 정렬된다 sorted(LIST, reverse = True)로 입력하게 되면 내림차순 💥[리스트].sort()와 sorted(리스트)의 차이점💥 리스트.sort()는 본체의 리스트를 정렬해서 변환 sorted(리스트)는 본체 리스트는 내버려두고, ..

yujindonut
'Language/Python' 카테고리의 글 목록