관리 메뉴

KorSA

알고리즘 풀이를 위한 Python 사용법 - 자료구조편 본문

Algorithm/Programmers

알고리즘 풀이를 위한 Python 사용법 - 자료구조편

Praiv. 2022. 10. 4. 01:12
320x100

 

C++로만 알고리즘 문제를 풀던 나.

C++ API의 옛스러움과 혼란스러움에 지쳐 Python으로 넘어왔다.

 

이 문서는 파이썬 초보가 알고리즘을 풀 때 알아두어야 할 지식들을 하나씩 삽질해가며 모아가는 공간이다.

 

 

1. stack

Python에서 stack은 따로 자료구조 없이 list를 응용하면 된다.

 

1) PUSH

stack = ['a', 'b', 'c']

stack.append('d') # stack의 push 역할로 list의 append() 함수 사용

print(stack)

# output
# ['a', 'b', 'c', 'd']

 

2) POP

stack = ['a', 'b', 'c']

pop = stack.pop() # 맨 마지막 (stack으로 따지자면 제일 위) 원소를 제거하면서 해당 값을 리턴한다.

print('pop: ' + pop)
print(stack)

# output
# pop: c
# ['a', 'b']

 

3) TOP

stack = ['a', 'b', 'c']

top = stack[-1] # 맨 마지막에 있는 원소를 꺼낸다.

# stack[-1] 사용 시 주의할 점은 
# stack이 비어있는 경우 out of range 오류가 뜨기 때문에
# 아래처럼 stack의 length 체크를 해주는 게 좋다.

if len(stack) > 0: # stack의 length 체크
	print('top: ' + stack[-1])

# output
# top: c

 

참고> https://ooeunz.tistory.com/7

728x90
728x90
Comments