문제 출처: https://www.acmicpc.net/problem/10773
1. 결과
메모리 29980KB, 시간 4908ms
2. 풀이
이 문제는 솔직히 전혀 어려웠거나 어떤 이슈가 있는 것이 아니고, 직접 스택이라는 추상적 자료형을 클래스로써 구현한 코드를 담고 있기 때문에 남긴다. 파이썬의 리스트를 이용해서 구현해서 충분히 쉽게 풀이가 가능한 문제이다.
import sys
class Stack:
def __init__(self):
self.stack = []
def push(self, x):
self.stack.append(x)
def rmpop(self):
if self.stack: self.stack = self.stack[:-1]
def pop(self):
if self.stack: return self.stack.pop()
else: return -1
def size(self):
return len(self.stack)
def empty(self):
if self.stack: return 0
else: return 1
def top(self):
if self.stack: return self.stack[-1]
else: return -1
def main():
K = int(sys.stdin.readline())
st = Stack()
for _ in range(K):
say = int(sys.stdin.readline())
if say == 0: st.rmpop()
else: st.push(say)
result = sum(st.stack)
return result
if __name__ == '__main__':
print(main())
'지극히 개인적인 공부 노트 > 알고리즘(Algorithm)' 카테고리의 다른 글
[Algorithm] 백준 1260번: DFS와 BFS | 기본적인 DFS, BFS 구현 (0) | 2021.09.07 |
---|---|
[Algorithm] 백준 10942번: 팰린드롬? | 동적 계획법 응용 (0) | 2021.09.06 |
[Algorithm] 백준 11444번: 피보나치 수 6 | 분할 정복법, 행렬 제곱, 나머지 연산 규칙 (0) | 2021.09.02 |
[Algorithm] 백준 11401번: 이항 계수 3 | 페르마의 소정리, 약수의 나머지 곱을 통한 나머지 연산 (0) | 2021.09.01 |
[Algorithm] 백준 1780번: 종이의 개수 | 분할 정복, 전역 변수 (0) | 2021.09.01 |