https://www.acmicpc.net/problem/10828
문제 풀이
- 빈 배열을 만들어 입력 받으며 하는 실행들을 누적 실행한다.
solution - 실패
def push(stack,num):
stack.append(num)
return stack
def pop(stack) :
if stack:
stack.pop(0)
print(stack)
else:
print(-1)
def size(stack):
print(len(stack))
def empty(stack):
if stack:
print(0)
else:
print(1)
def top(stack):
if stack:
print(stack.pop(0))
else:
print(-1)
import sys
N = int(sys.stdin.readline().strip())
for _ in range(N):
stack = []
data = sys.stdin.readline().strip().split()
commond = data[0]
# num = data[1]
if len(data) == 1:
commond(stack)
- 미리 함수로 정의하고 입력받은 데이터로 호출하려고 했으나
- TypeError: 'str' object is not callable 가 발생했습니다.
solution - 성공
import sys
N = int(sys.stdin.readline().strip())
stack = [] # 모든 명령어에 공통적으로 해당하기 때문에 아래 for문 안에 들어가지 않음. 즉 입력값을 받을때마다 초기화 하지 않음
for _ in range(N):
data = sys.stdin.readline().strip().split()
if data[0] == 'push':
stack.append(data[1])
elif data[0] == 'pop':
if stack:
print(stack.pop()) # 제거될 가장 최신의 데이터를 출력
else:
print(-1)
elif data[0] == 'size':
print(len(stack))
elif data[0] == 'empty':
if stack:
print(0)
else:
print(1)
elif data[0] == 'top':
if stack:
print(stack[-1]) # 가장 최신인 데이터 출력
else:
print(-1)
'algorithm > 백준' 카테고리의 다른 글
[PYTHON] 1316 그룹단어 체커 (0) | 2023.01.30 |
---|---|
[PYTHON] 11047 동전 0 (0) | 2023.01.30 |
[PYTHON] 2566 최댓값 (0) | 2023.01.30 |
[PYTHON] 8958 OX 퀴즈 - 등차 수열 / for (0) | 2023.01.26 |
[PYTHON] 1546 평균 (0) | 2023.01.26 |
댓글