본문 바로가기

Python(알고리즘,문제풀이)/BOJ(Silver IV)

백준 / 10828 / 스택 / Stack

728x90

📚문제

 

출처 : 백준 10828번(https://www.acmicpc.net/problem/10828)


📝풀이

# 10828 스택 (Silver IV)
import sys
stack = []

for _ in range(int(input())):
    order = sys.stdin.readline().rstrip().split()
    
    if order[0] == 'push':
        stack.append(order[1])
    
    elif order[0] == 'top':
        print(stack[-1] if stack else -1)
        
    elif order[0] == 'pop':
        print(stack.pop() if stack else -1)
    
    elif order[0] == 'size':
        print(len(stack))
    
    elif order[0] == 'empty':
        print(0 if stack else 1)

스택,큐,덱 문제 모두 풀이 방법은 같다

그래서 그냥 sys.stdin.readline()에 관해 정리해 놓을 겸 

스택 문제의 풀이를 가져왔다

 

📌sys.stdin.readline()

sys.stdin.readline() 메소드는 한 줄을 읽어옴
이 메소드에는 개행문자('\n')가 포함되어 있기 때문에 (개행문자('\n') 는 사용자가 엔터 키 누르면 입력)
개행문자('\n') 제거하고 문자열만 가져오는 게 좋음

rstrip()함수는 매개변수 없을 경우
공백문자(공백,탭,개행 등)를 제거
개행문자도 공백문자로 간주

728x90