๋ฐ์ํ
https://www.acmicpc.net/problem/10828
โจ ๋ฌธ์
์ ์๋ฅผ ์ ์ฅํ๋ ์คํ์ ๊ตฌํํ ๋ค์, ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ๋ช ๋ น์ ์ฒ๋ฆฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
๋ช ๋ น์ ์ด ๋ค์ฏ ๊ฐ์ง์ด๋ค.
- push X: ์ ์ X๋ฅผ ์คํ์ ๋ฃ๋ ์ฐ์ฐ์ด๋ค.
- pop: ์คํ์์ ๊ฐ์ฅ ์์ ์๋ ์ ์๋ฅผ ๋นผ๊ณ , ๊ทธ ์๋ฅผ ์ถ๋ ฅํ๋ค. ๋ง์ฝ ์คํ์ ๋ค์ด์๋ ์ ์๊ฐ ์๋ ๊ฒฝ์ฐ์๋ -1์ ์ถ๋ ฅํ๋ค.
- size: ์คํ์ ๋ค์ด์๋ ์ ์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
- empty: ์คํ์ด ๋น์ด์์ผ๋ฉด 1, ์๋๋ฉด 0์ ์ถ๋ ฅํ๋ค.
- top: ์คํ์ ๊ฐ์ฅ ์์ ์๋ ์ ์๋ฅผ ์ถ๋ ฅํ๋ค. ๋ง์ฝ ์คํ์ ๋ค์ด์๋ ์ ์๊ฐ ์๋ ๊ฒฝ์ฐ์๋ -1์ ์ถ๋ ฅํ๋ค.
โจ ์ ๊ทผ ๋ฐฉ๋ฒ
- ๋ฌธ์ ์ ์ ํ์๋ฏ์ด, ์คํ์ ๊ตฌํํ๋ ๋ฌธ์ ์ด๋ค.
- ํ์ด์ฌ์ list๋ฅผ ์ด์ฉํด์ stack์ ์ ์ํ๋ค.
- push๋ ํ์ด์ฌ์ append ํจ์, pop์ pop ํจ์, size๋ len ํจ์, empty๋ `if stack`, top์ index -1๋ฅผ ํตํด ์ ๊ทผํด์ ์ถ๋ ฅํ๋ค.
- ๋จ, ์คํ์ ์ ์๊ฐ ์์ ๊ฒฝ์ฐ๋ฅผ ํ์ธํ๋ ์์ธ ์ฒ๋ฆฌ๋ฅผ ํด์ค์ผ ํ๋ค.
โจ ์ฝ๋
import sys
def input():
return sys.stdin.readline().rstrip()
def main():
N = int(input())
print(N)
stack = []
for _ in range(N):
command = input().split()
num = 0
if len(command) == 2:
num = command[1]
command = command[0]
len_stack = len(stack)
if command == 'push':
stack.append(num)
elif command == 'pop':
if len_stack == 0:
print(-1)
else :
print(stack.pop())
elif command =='size':
print(len_stack)
elif command == 'empty':
if len_stack == 0:
print(1)
else :
print(0)
elif command == 'top' :
if len_stack == 0:
print(-1)
else :
print(stack[len_stack-1])
728x90
๋ฐ์ํ
'์๊ณ ๋ฆฌ์ฆ ๐ฅ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค 2493๋ฒ : ํ(G5) (0) | 2024.01.04 |
---|---|
๋ฐฑ์ค 1935๋ฒ: ํ์ ํ๊ธฐ์2(S3) (1) | 2023.12.29 |
๋ฐฑ์ค 1158๋ฒ : ์์ธํธ์ค ๋ฌธ์ (S4) (0) | 2023.12.29 |
๋ฐฑ์ค 2346๋ฒ : ํ์ ํฐ๋จ๋ฆฌ๊ธฐ(S3) (0) | 2023.12.29 |
๋ฐฑ์ค 2164๋ฒ: ์นด๋2(S4) (2) | 2023.12.25 |