λ°±μ€(BOJ) 10828λ² μ€νλ¬Έμ [νμ΄μ¬(python) / μκ°μ΄κ³Ό μλ¬]
https://www.acmicpc.net/problem/10828
λ°±μ€ μκ³ λ¦¬μ¦ 10828λ² μ€νλ¬Έμ
[λ¬Έμ ]
μ μλ₯Ό μ μ₯νλ μ€νμ ꡬνν λ€μ, μ λ ₯μΌλ‘ μ£Όμ΄μ§λ λͺ λ Ήμ μ²λ¦¬νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
λͺ λ Ήμ μ΄ λ€μ― κ°μ§μ΄λ€.
- push X: μ μ Xλ₯Ό μ€νμ λ£λ μ°μ°μ΄λ€.
- pop: μ€νμμ κ°μ₯ μμ μλ μ μλ₯Ό λΉΌκ³ , κ·Έ μλ₯Ό μΆλ ₯νλ€. λ§μ½ μ€νμ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
- size: μ€νμ λ€μ΄μλ μ μμ κ°μλ₯Ό μΆλ ₯νλ€.
- empty: μ€νμ΄ λΉμ΄μμΌλ©΄ 1, μλλ©΄ 0μ μΆλ ₯νλ€.
- top: μ€νμ κ°μ₯ μμ μλ μ μλ₯Ό μΆλ ₯νλ€. λ§μ½ μ€νμ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
[μ λ ₯]
첫째 μ€μ μ£Όμ΄μ§λ λͺ λ Ήμ μ N (1 ≤ N ≤ 10,000)μ΄ μ£Όμ΄μ§λ€. λμ§Έ μ€λΆν° Nκ°μ μ€μλ λͺ λ Ήμ΄ νλμ© μ£Όμ΄μ§λ€. μ£Όμ΄μ§λ μ μλ 1λ³΄λ€ ν¬κ±°λ κ°κ³ , 100,000λ³΄λ€ μκ±°λ κ°λ€. λ¬Έμ μ λμμμ§ μμ λͺ λ Ήμ΄ μ£Όμ΄μ§λ κ²½μ°λ μλ€.
[μΆλ ₯]
μΆλ ₯ν΄μΌνλ λͺ λ Ήμ΄ μ£Όμ΄μ§ λλ§λ€, ν μ€μ νλμ© μΆλ ₯νλ€.
μ²μ λ°©λ²μΌλ‘ νμμλ μκ°μ΄κ³Όκ° λμ λ€λ₯Έ μ½λλ₯Ό μμ±ν΄μ νμλλ°λ μκ°μ΄κ³Όκ° λ¬λ€....
μ°Ύμ보λκΉ input() ν¨μλ₯Ό μ¬μ©νμ κ²½μ°μ μκ°μ΄κ³Όκ° λκ²λλ€...μ€λ§μ΄κ°..
κ·Έλμ
import sys
count= int(sys.stdin.readline()) μ΄κ²μ μ¬μ©ν΄μ μ
λ ₯μ λ°μλ€!!
1λ² νμ΄
class Stack:
def __init__(self):
self.items = []
def push(self, val):
self.items.append(val)
def pop(self):
try:
return self.items.pop()
except IndexError:
return (-1)
def top(self):
try:
return self.items[-1]
except IndexError:
return (-1)
def __len__(self):
return len(self.items)
def isEmpty(self):
return len(self) == 0
import sys
count= int(sys.stdin.readline())
S = Stack()
for i in range(count):
words = sys.stdin.readline().split()
if words[0] == 'push':
S.push(int(words[1]))
elif words[0] == 'pop':
print(S.pop())
elif words[0] == 'size':
print(S.__len__())
elif words[0] == 'empty':
if S.__len__() == 0: print(1)
else: print(0)
elif words[0] == 'top':
print(S.top())
2λ² νμ΄
count = int(input())
s = []
for i in range(count):
words = input().split()
if words[0] == 'push':
s.append(words[1])
elif words[0] == 'pop':
if s: print(s.pop())
else: print(-1)
elif words[0] == 'size':
print(len(s))
elif words[0] == 'empty':
if s: print(0)
else : print(1)
elif words[0] == 'top':
if s : print(s[-1])
else : print(-1)