728x90

백준 10828

import sys
N = int(input()) # 명령의 수
ST = []          # 스택

for i in range(N):
    S = list(input().split())
    if S[0] == 'push':
        ST.append(int(S[1]))
    elif S[0] == 'pop':
        try:
            print(ST.pop())
        except:
            print(-1)
    elif S[0] == 'size':
        print(len(ST))
    elif S[0] == 'empty':
        if ST == []:
            print(1)
        else:
            print(0)
    elif S[0] == 'top':
        try:
            print(ST[-1])
        except:
            print(-1)

스택문제. 함수를 써야 하나 싶다가 for구문에 if 절을 쓰면 풀 수 있을 것 같았다.

근데 시간초과가 뜨길래 아래처럼 sys를 import 해줬더니 정답

# 10828
import sys
N = int(sys.stdin.readline()) # 명령의 수
ST = []                       # 스택

for i in range(N):
    S = sys.stdin.readline().split()
    if S[0] == 'push':
        ST.append(int(S[1]))
    elif S[0] == 'pop':
        try:
            print(ST.pop())
        except:
            print(-1)
    elif S[0] == 'size':
        print(len(ST))
    elif S[0] == 'empty':
        if ST == []:
            print(1)
        else:
            print(0)
    elif S[0] == 'top':
        try:
            print(ST[-1])
        except:
            print(-1)
728x90

'Algorithm' 카테고리의 다른 글

백준 2581 소수 파이썬  (0) 2021.12.02
1126_ TIL  (0) 2021.11.26
1124_ TIL  (0) 2021.11.24
1123_ TIL  (0) 2021.11.24
1122_ TIL  (0) 2021.11.22

+ Recent posts