[스택]-10828번
My answer
import sys
n=int(sys.stdin.readline())
tmp=[]
for _ in range(n):
board=[]
board=sys.stdin.readline().split()
if(board[0]=="push"):
tmp.append(int(board[1]))
elif(board[0]=="top"):
if(tmp==[]):
print(-1)
else:print(tmp[-1])
elif(board[0]=="size"):
print(len(tmp))
elif(board[0]=="pop"):
if(tmp==[]):
print(-1)
else:
print(tmp[-1])
tmp=tmp[:-1]
elif(board[0]=="empty"):
if(tmp):
print(0)
else:
print(1)
Another answer
import sys
a=[]
n=int(input())
for i in range(n):
o=sys.stdin.readline().split(); w=o[0]
if w=="push": a.append(int(o[1]))
elif w=="pop": print(a.pop() if a else -1)
elif w=="size": print(len(a))
elif w=="empty": print(0 if a else 1)
else: print(a[-1] if a else -1)
더보기
두 코드 똑같은데 다른점은 pop할 때 나는 pop함수를 안쓰려고 직접 마지막꺼를 출력하고 삭제했고 여기서는 그냥 pop함수로 출력삭제를 한번에 했다. 아래 코드가 가독성이 더 좋아보인당.
728x90
반응형
'코딩테스트 > 백준[Python]' 카테고리의 다른 글
[Python/백준] #9012- [괄호] (0) | 2021.11.30 |
---|---|
[Python/백준] #18870 - [좌표 압축] [try_again] (0) | 2021.11.30 |
[Python/백준] #11004- [K번째 수] (0) | 2021.11.28 |
[Python/백준] #11652- [카드] (0) | 2021.11.28 |
[Python/백준] #10825- [국영수] (0) | 2021.11.28 |