자료구조

    [이것이 코딩 테스트다 with Python] DFS/BFS : 음료수 얼려먹기

    [이것이 코딩 테스트다 with Python] DFS/BFS : 음료수 얼려먹기

    교재 : 이것이 코딩 테스트다 with 파이썬 CHAPTER 5 DFS/BFS 실전문제 5-3 음료수 얼려 먹기 149p 문제 N × M 크기의 얼음 틀이 있다. 구멍이 뚫려 있는 부분은 0, 칸막이가 존재하는 부분은 1로 표시된다. 구멍이 뚫려 있는 부분끼리 상, 하, 좌, 우로 붙어 있는 경우 서로 연결되어 있는 것으로 간주한다. 이때 얼음 틀의 모양이 주어졌을 때 생성되는 총 아이스크림의 개수를 구하는 프로그램을 작성하라. 다음의 4 × 5 얼음 틀 예시에서는 아이스크림이 총 3개가 생성된다 입력 조건 첫 번째 줄에 얼음 틀의 세로 길이 N과 가로 길이 M이 주어진다. (1

    [그래프 탐색] DFS, BFS 문제

    [그래프 탐색] DFS, BFS 문제

    공통 문제 graph의 노드당 인접 노드가 배열로 주어질 때 방문 순서 프린트 하기 DFS 코드 def dfs(graph, v, visited): visited[v]=True # 현재 node visited 체크하기 print(v, end=' ') # 방문 위치 print for i in graph[v]: # 그래프 연결된 위치에 대해서 방문되지 않은 곳 있으면 dfs 호출하기 if not visited[i]: dfs(graph,i,visited) # 각 노드가 연결된 정보를 리스트 자료형으로 표현 (2차원 리스트) graph = [[], [2, 3, 8], [1, 7], [1, 4, 5], [3, 5], [3, 4], [7], [2, 6, 8], [1, 7]] # 각 노드가 방문된 정보를 리스트 자료형..

    자료구조 기초 - 스택(Stack)과 큐(Que)

    자료구조 기초 - 스택(Stack)과 큐(Que)

    탐색 (Search)이란 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정을 의미한다. 프로그래밍에서는 그래프, 트리 등의 자료구조 안에서 탐색을 하는 문제를 자주 다루게 된다. 대표적인 탐색 알고리즘으로 DFS(Depth-First Search)와 BFS(Breadth First Search)를 꼽을 수 있는데, 이 둘을 제대로 이해하려면 기본 자료구조인 스택과 큐에 대한 이해가 전제되어야 하므로 사전 학습으로 스택과 큐, 재귀 함수를 간단히 정리하고자 한다. 자료구조 (Data Structure) 란 데이터를 표현하고 관리하고 처리하기 위한 구조를 의미한다. 그 중 스택과 큐는 자료구조의 기초 개념으로 다음의 두 핵심 적인 함수로 구성된다. 삽입(Push) : 데이터를 삽입한다. 삭제(Pop) : ..