반응형
파이썬에서 리스트를 사용하면 스택을 아주 쉽게 구현 할 수 있다.
스택(stack)
스택은 자료구조 중 하나로 후입선출(LIFO : Last in First out)을 가진다.
즉 먼저 들어온 데이터는 가장 마지막에 나가는 구조다.
우선 리스트에서 사용하는 append, pop 함수를 알아보자.
append() 함수
append 함수는 리스트에 순서대로 새로운 요소를 더해준다.
s = list() # 리스트 생성
s.append("1") # 리스트에 1추가
s.append("2") # 리스트에 1추가
s.append("3") # 리스트에 1추가
print(s) #리스트 출력
결과
['1', '2', '3']
pop() 함수
pop 함수는 리스트에 마지막 요소를 삭제해준다.
예제처럼 [1,2,3] 리스트에서 pop을 2번 해주면 3, 2가 삭제된다.
s = list() # 리스트 생성
s.append("1") # 리스트에 1추가
s.append("2") # 리스트에 1추가
s.append("3") # 리스트에 1추가
print("첫번째 삭제 : ", s.pop()) # pop으로 요소 삭제해 주기
print("두번째 삭제 : ", s.pop()) # pop으로 요소 삭제해 주기
print("리스트 남은 요소 : ", s) #리스트 출력
결과
첫번째 삭제 : 3
두번째 삭제 : 2
리스트 남은 요소 : ['1']
리스트로 스택 구현하기 예제
append() 함수로 요소를 삽입해 주고
pop() 함수로 삭제해주는 예제다.
s = list() # 리스트 생성
str = input("문자열 입력:")# 문자열 입력 받기
for char in str : #입력 받은 str 문자열 만큼 for문 반복
s.append(char) # char 문자를 스택에 삽입
print("문자열 출력: ", end='') #end= '' 사용해서 줄바꿈 없이 출력
while len(s) > 0: # 리스트가 공백이 될 때까지 반복
print(s.pop(), end='') # 삽입 역순으로 출력
결과
문자열 입력: 1234
문자열 출력: 4321
반응형
'Python' 카테고리의 다른 글
[Python] 파이썬 Queue(큐) 사용법 구현 예제 (0) | 2024.05.13 |
---|---|
[Python] 파이썬 문자열 거꾸로 뒤집기 출력 예제 (0) | 2024.05.09 |
[Python] 파이썬 팩토리얼 구현 예제 (반복, 재귀(순환)) (0) | 2024.05.07 |
[Python] 파이썬 스택 구현 예제(queue LifoQueue) (0) | 2024.05.07 |
[Python] 파이썬 자료형 알아내는 함수 type() (0) | 2024.05.07 |