Python

개발공부/algorithm

[BOJ] [Python] 백준 자료구조 Deque - 2164: 카드2

문제: 2164: Zero 백준 2164 자료구조 Silver IV 문제링크 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 첫 시도: 시간초과 1~N 까지의 수를 스택에 append 한다. for loop이 한번 돌 때 스택의 가장 위의 원소를 pop해주고 그 다음 원소의 인덱스를 재설정 해준다. 스택의 가장 밑에 위치하도록 원소의 인덱스를 재설정해주고 그에 따라 다른 원소들의 인덱스 역시 재설정 해준다. 스택의 가장 하위에 새로운 원소를 추가하는 것이 어려워 애초에 스택에 입력 값을 역순으로 넣어주었다. ..

개발공부/algorithm

[BOJ] [Python] 백준 자료구조 - 10773: 제로

문제: 10773: Zero 백준 10733 자료구조 Silver IV 문제링크 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 접근 기본 스택 자료구조를 사용하면 쉽게 풀 수 있는 문제다. 입력 값에 0이 들어오면 stack.pop, 아니면 append를 해주면 된다. (이런 쉬운 문제만 계속 나왔으면 좋겠다 ㅎㅎ) 내 코드 T = int(input()) stack = [] for i in range(T): N = int(input()) if N != 0: stack.appe..

개발공부/개발

Depth First Search (DFS) - 깊이 우선 탐색

비선형 구조인 그래프 구조는 그래프로 표현된 모든 자료를 빠짐없이 검색하는 것이 중요하다. 이러한 탐색 방법에는 대표적으로 Depth First Search (깊이 우선 탐색) 그리고 Breadth First Search (너비 우선 탐색)이 있다. 우선 DFS 부터 알아보도록 하겠다. 1. DFS 로직 시작 정점의 한 방향으로 갈 수 있는 경로가 있는 곳 까지 깊이 탐색 더 이상 갈 곳이 없게 되면 가장 마지막에 만났던 갈림길 간선이 있는 정점으로 되돌아옴 다른 방향의 정점으로 탐색을 계속 반복하여 결국 모든 정점을 방문하여 순회 가장 마지막에 만났던 갈림길의 정점으로 되돌아가서 다시 깊이 우선 탐색을 반복해야 하므로 후입선출 구조의 스택을 사용한다 2. 스택을 사용한 DFS 알고리즘 설명 정점 v에 ..

so.py
'Python' 태그의 글 목록 (24 Page)