백준 10828번 파이썬

syeony·2024년 5월 28일
0

python

목록 보기
8/13

내가 낸 답안 공개

# push X: 정수 X를 스택에 넣는 연산이다.
# pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.
# size: 스택에 들어있는 정수의 개수를 출력한다.
# empty: 스택이 비어있으면 1, 아니면 0을 출력한다.
# top: 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.

# sys.stdin.readline(): 입출력속도가 빠르다.

import sys

arr=[]

N = int(input())

for i in range(N):
    a = sys.stdin.readline().split()
    if(a[0]=="push"):
        arr.append(a[1])
    elif(a[0]=="pop"):
        if(len(arr)>0):
            print(arr[-1])
            arr.pop()
        else: print("-1")
    elif(a[0]=="size"):
        print(len(arr))
    elif(a[0]=="empty"):
        if(len(arr)==0):
            print("1")
        else: print("0")
    elif(a[0]=="top"):
        if(len(arr)>0):
            print(arr[-1])
        else: print("-1")

솔직하게 말하자면 이번 문제는 입력에서 자꾸 오류가 나서...
입력만 다른사람들은 어떻게 했는지 살짝 코드를 엿보고 풀었다.

그 외 push,pop,size,empty,top은 내가 구현해주었다.
별로 어려운건 없었다.

배운것

입력받을때 sys.stdin.readline()이라는 것이 있다는 것을 알게되었다. 앞으로 잘 쓸 것 같다.
그리고 나는 def 함수로 하나하나 구현해보려했는데 그냥 for문 안에 구현해도 상관없었다...

profile
모바일 어플리케이션, cross platform과 iOS에 관심이 많은 개발자 오승연입니다

0개의 댓글