코딩 테스트 파이썬 3

파이썬 코딩테스트 스터디 8주차 #2 - 그래프 탐색 : 깊이 우선 탐색

깊이 우선 탐색시작 노드부터 탐색을 시작해, 간선을 따라 최대 깊이 노드까지 이동하며 차례대로 방문.최대 깊이 노드까지 방문 후이전 방문한 노드를 거슬러 올라가 연결된 노드에서 방문하지 않은 노드부터 다시 최대 깊이까지 차례대로 방문! 스택 활용 방법시작 노드 정한다.스택에 시작노드 푸시스택이 비었는 지 확인 → 비었다면, 모든 노드 방문했음 → 탐색 종료스택에서 노드 팝한다. (팝한 노드는 최근에 푸시한 노드)팝한 노드의 방문 여부 확인 →  방문 처리방문한 노드와 인접한 노드 확인  →  비 방문 노드 푸시 깊이 우선 탐색의 핵심  : 가장 깊은 노드까지 방문 후, 더 이상 방문할 노드 없으면, 최근 방문한 노드로 돌아온 다음,해당 노드에서 방문할 노드가 있는지 확인. 스택을 활용한 깊이 우선 탐색선..

파이썬 코딩테스트 스터디 4주차 #1 - 큐의 개념

큐의 개념 큐(Queue)는 정확히 스택(Stack)과 반대되는 개념이다 스택은 선입후출 / 후입선출(First In, Last Out)이었다면,큐는 선입선출(First In, First Out)이다.     큐의 세부 동작에 대해 살펴보기 Insert(삽입)1. 삽입 전 , Is Full을 통해 현재 큐가 가득 찼는지 확인2. 가득차지 않았다면, rear=rear+1 증가 후 데이터 삽입 Pop(추출)1. IsEmpty를 통해 빈큐인지 확인2. 비어있지 않았다면 front = front +1 queue = [] #스택처럼 배열로 선언#데이터 추가queue.append(1)queue.append(2)queue.append(3)#맨 앞 데이터 제거first_item = queue.pop(0)print(fi..

카테고리 없음 2024.07.09

파이썬 코딩테스트 스터디 2주차 #1 - 배열 개념, 배열의 효율성

배열  배열 선언방법 1. 배열 값들을 나열- arr1 = [1,2,3,4,5]- arr2 = [0]*6            # 6개의 0이 순차적으로 저장  방법 2. 리스트 생성자 사용- arr = list(range(6))  # [0,1,2,3,4,5] 방법 3. 리스트 컴프리헨션 활용- arr = [0 for _ in range(6)] Java에서의 배열은 선언후 크기 변경이 안되는데Python에서 배열은 동적으로 크기 조절이 가능하다는 점이 완전 대박! * 배열 ! 뮤터블 객체!  배열과 차원1차원 배열   2차원 배열 책에 나온 설명과 이미지를 그대로 가져오는게 훨씬 훨씬 나을 것 같아이번 포스팅에서는 특히 더 많이 참조하고 있습니다.       배열의 효율성배열 연산의 시간 복잡도다시 한번 ..