본문 바로가기

Python/알고리즘 (Algorithm)

(10)
7-2-1. 스택 연습문제 (Stack Examples): 파이썬 자료구조와 알고리즘 문자열 반전 스택의 데이터를 역순으로 정렬하거나 검색할 때 사용할 수 있다. 7-1 에서 구현한 스택 클래스를 써서 구현해보자. 내 정답: from stack import Stack def reverse_string_with_stack(string): s = Stack() result = '' for i in string: s.push(i) while not s.isEmpty(): result += s.pop() return result print(reverse_string_with_stack('Hello World!')) 결과 PS C:\Users\bumsu\Desktop\Python\DSA> & C:/Python38/python3.exe "c:/Users/bumsu/Desktop/Python/DSA/..
7-1. 추상 데이터 타입 (Abstract Data Type): 파이썬 자료구조와 알고리즘 추상 데이터 타입 (abstract data type, ADT) 은 유사한 동작을 가진 자료구조의 클래스에 대한 수학적 모델을 가리킨다. 자료구조는 크게 배열 기반의 연속 (continuation) 방식과 포인터 기반의 연결 (link) 방식으로 분류한다. 예를들어. 연속적 할당 자료구조는 문자열, 리스트, 튜플, 딕셔너리 등이 있다. 그러나 앞으로 배울 내용들은 좀 더 특화된 연속 구조의 예와 연결 구조의 예를 살펴본다. 스택 스택 (stack) 은 배열의 끝에서만 데이터를 접근할 수 있는 선형 자료구조이다. 스택은 배열 인덱스 접근이 제한되며, 후입선출 (last in first out, LIFO) 구조이다. 책상 위에 쌓여 있는 책을 상상해보자. 맨 위의 책을 가져올 순 있지만, 맨 아래 또는 중간..