Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- PPCP
- 백준
- 로그인성공
- 데이터분석
- 공공데이터분석
- 데이터분석청년인재
- 파이썬
- 자동차 평균 기간 구하기
- 청년인재
- 대여기록이 존재하는 자동차 리스트
- 낮은 상관관계
- 연속된 부분 수열의 합
- python개발자찾기
- Python
- prefix_sum
- PCCE
- 부모의 형질을 가지는 대장균 찾기
- pcce 기출
- 최소값 만들기
- 자료구조
- 이웃한칸
- 있었는데요
- 공공데이터분석청년인재
- MySQL
- 프로그래머스
- 재귀
- 알고리즘
- silver 5
- 유연 근무제
- level2
Archives
- Today
- Total
데이터 저장소
[백준] 스택 - 10828 (Python) 본문
https://www.acmicpc.net/problem/10828
10828번: 스택
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지
www.acmicpc.net
📄문제
분류 : 자료구조 - 스택
문제
정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.
명령은 총 다섯 가지이다.
- push X: 정수 X를 스택에 넣는 연산이다.
- pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.
- size: 스택에 들어있는 정수의 개수를 출력한다.
- empty: 스택이 비어있으면 1, 아니면 0을 출력한다.
- top: 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.
입력
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 않은 명령이 주어지는 경우는 없다.
출력
출력해야하는 명령이 주어질 때마다, 한 줄에 하나씩 출력한다.
📝 코드
import sys
n = int(sys.stdin.readline())
stack=[]
for i in range(n):
command = sys.stdin.readline().split()
if command[0]=='push':
stack.append(command[1])
elif command[0]=='pop':
if len(stack)==0:
print(-1)
else:
print(stack.pop())
elif command[0] == 'size':
print(len(stack))
elif command[0] == 'empty':
if len(stack)==0:
print(1)
else:
print(0)
elif command[0] == 'top':
if len(stack)==0:
print(-1)
else:
print(stack[-1])
- 스택을 구현하여 주어진 명령어에 따라 처리하는 문제이다.
코드의 주요 로직
- 사용자로부터 입력을 받아서 명령을 처리하는 부분:
- n = int(sys.stdin.readline()): 사용자로부터 명령의 개수를 입력 받음
- 입력받은 명령의 개수에 따라 반복문 시행
- command = sys.stdin.readline().split(): 공백을 기준으로 분리하여 리스트로 저장함
- 명령에 따라 처리 :
- push: 스택에 값을 추가
- pop: 스택에서 값을 제거하고 출력
- size: 스택의 크기를 출력
- empty: 스택이 비어있는지 여부를 출력
- top: 스택의 가장 위에 있는 값을 출력
728x90
'알고리즘 > 코딩테스트 연습' 카테고리의 다른 글
[프로그래머스] [PCCE 기출문제] 10번 / 공원 (0) | 2024.11.12 |
---|---|
[프로그래머스] 공원 산책 (Python) (0) | 2024.04.04 |
[백준] 동전 0 - 11047 (Python) (0) | 2024.03.21 |
[프로그래머스] 덧칠하기(Python) (0) | 2024.03.18 |
[PCCP 기출문제] 1번 / 붕대 감기 (1) | 2024.02.07 |