Skip to content

Commit

Permalink
[Silver IV] Title: 스택 2, Time: 844 ms, Memory: 102856 KB -BaekjoonHub
Browse files Browse the repository at this point in the history
  • Loading branch information
boyamie committed Jun 27, 2024
1 parent 6d97c07 commit 71fc4dc
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 0 deletions.
42 changes: 42 additions & 0 deletions 백준/Silver/28278. 스택 2/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# [Silver IV] 스택 2 - 28278

[문제 링크](https://www.acmicpc.net/problem/28278)

### 성능 요약

메모리: 102856 KB, 시간: 844 ms

### 분류

자료 구조, 스택

### 제출 일자

2024년 6월 27일 23:51:48

### 문제 설명

<p>정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.</p>

<p>명령은 총 다섯 가지이다.</p>

<ol>
<li><span style="color:#e74c3c;"><code>1 X</code></span>: 정수 <var>X</var>를 스택에 넣는다. (1 ≤ <var>X</var> ≤ 100,000)</li>
<li><span style="color:#e74c3c;"><code>2</code></span>: 스택에 정수가 있다면 맨 위의 정수를 빼고 출력한다. 없다면 <span style="color:#e74c3c;"><code>-1</code></span>을 대신 출력한다.</li>
<li><span style="color:#e74c3c;"><code>3</code></span>: 스택에 들어있는 정수의 개수를 출력한다.</li>
<li><span style="color:#e74c3c;"><code>4</code></span>: 스택이 비어있으면 <span style="color:#e74c3c;"><code>1</code></span>, 아니면 <span style="color:#e74c3c;"><code>0</code></span>을 출력한다.</li>
<li><span style="color:#e74c3c;"><code>5</code></span>: 스택에 정수가 있다면 맨 위의 정수를 출력한다. 없다면 <span style="color:#e74c3c;"><code>-1</code></span>을 대신 출력한다.</li>
</ol>

### 입력

<p>첫째 줄에 명령의 수 <var>N</var>이 주어진다. (1 ≤ <var>N</var> ≤ 1,000,000)</p>

<p>둘째 줄부터 <var>N</var>개 줄에 명령이 하나씩 주어진다.</p>

<p>출력을 요구하는 명령은 하나 이상 주어진다.</p>

### 출력

<p>출력을 요구하는 명령이 주어질 때마다 명령의 결과를 한 줄에 하나씩 출력한다.</p>

30 changes: 30 additions & 0 deletions 백준/Silver/28278. 스택 2/스택 2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import sys

stack = []

n = int(sys.stdin.readline())


for _ in range(n):

command = sys.stdin.readline().split()

if command[0] == '1':
stack.append(command[1])
elif command[0] == '2':
if stack:
print(stack.pop())
else:
print(-1)
elif command[0] == '3':
print(len(stack))
elif command[0] == '4':
if stack:
print(0)
else:
print(1)
elif command[0] == '5':
if stack:
print(stack[-1])
else:
print(-1)

0 comments on commit 71fc4dc

Please sign in to comment.