티스토리 뷰
10828번: 스택
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지
www.acmicpc.net
스택을 구현할 때, class사용해도 좋지만 지금은 복잡한 문제가 아니기 때문에 class는 사용하지 않았다.
1. push()에 대해
c언어에서는 top변수를 사용했지만 python은 .append()를 사용해서 리스트에 추가할 수 있다.
2. pop()에 대해
c언어에서는 top변수를 줄여가며 사용했지만 python은 del stack[-1]로 가장 마지막에 있는 원소를 지울 수 있고 return만 하고 싶을 때는 stack[-1]을 return해주면 쉽다
3. stack의 size에 대해
c언어에서는 top변수를 활용해 top이 0의 위치부터 시작됐다면 top 값이 size가 됐다면 python에서는 len.stack[]을 활용해 사이즈를 쉽게 구할 수 있다.
n = int(input())
print(n)
stack = []
def push(a):
stack.append(a)
a = "push"
b = "pop"
c = "size"
d = "empty"
e = "top"
for i in range(0,n):
print("입력순서 : %d" %i,end = '')
s = input()
if s==a:
t = int(input())
print("!!!")
push(t)
if s==b:
if(len(stack)<1):
print("-1")
else:
print("%d" %stack[-1])
del stack[-1]
if s==c:
print("%d" %len(stack))
if s==d:
if(len(stack)<1):
print("1")
else:
print("0")
if s==e:
if(len(stack)<1):
print("-1")
else:
print(stack[-1])
'파이썬 > 파이썬 문제' 카테고리의 다른 글
11053 - 가장 긴 증가하는 부분수열 (0) | 2021.03.24 |
---|---|
1966 - queue활용 (0) | 2021.03.22 |
15649 - n과m(1) (0) | 2021.03.18 |
백준 재귀함수 (0) | 2021.03.16 |
백준 2562 - 최댓값 (0) | 2021.03.11 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 시뮬레이션 c
- 파이썬 알아두면 유용
- 백준 10866
- 핀테크 트렌드
- 스택 파이썬
- 4963 섬의개수
- 백준 4963
- 백준 15650 파이썬
- DRF 회원관리
- CSMA/CD란?
- 기본 텍스트 분류
- 11053 백준
- 효율적인방법찾기
- 딥러닝입문
- 모듈 사용법
- LAMBDA
- 13886
- 온라인프로필 만들기
- 기사작성 대외활동
- CREATE ASSERTION
- 코딩월드뉴스
- 백트래킹(1)
- c++덱
- stack 컨테이너
- 백준 숫자놀이
- mm1queue
- 백준 11053 파이썬
- 소프트웨어공학설계
- 영화 리뷰 긍정 부정 분류
- 10866 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함