티스토리 뷰
프로그래머스 알고리즘 KIT - 스택, 큐
1. 스택이란?
- 하나씩 쌓아져 마지막에 들어온거부터 제거! (후입선출, LIFO, Last In First Out)
↑ 쌓이는 순서 ↑ | 3 | 3 → 2 → 1 순으로 제거 |
2 | ||
1 |
※ 리스트로 구현
1) 마지막 요소 확인: 인덱싱 [-1]
answer = [1,2,3]
answer[-1] # 3
2) 빈 리스트의 마지막 요소 확인
answer = []
answer[-1] # error
answer[-1:] # []
3) 마지막 요소 제거: pop(제거한 값을 반환)
answer = [1,2,3]
answer.pop() # 3
answer.pop() # 2
answer.pop() # 1
answer.pop() # error
2. 큐란?
- 먼저 추가된 데이터부터 제거, 선입 선출(FIFO, First In First Out)
→ 쌓이는 순서 → | ||
1 | 2 | 3 |
1 → 2 → 3 순으로 제거 |
※ collections.deque() 로 구현
from collections import deque
queue = deque()
# Enqueue
queue.append(1)
queue.append(2)
queue.append(3)
# Dequeue
print(queue.popleft()) # 1
print(queue.popleft()) # 2
# Peek
print(queue[0]) # 3 (첫 번째 요소)
# Check if empty
print(len(queue) == 0) # False
반응형
'AI > Python' 카테고리의 다른 글
[python] any, index, pop, 내장 Error (1) | 2024.12.24 |
---|---|
[python] 내장함수(input, dir), 외장함수(global, os, time, datetime) (0) | 2024.12.23 |
[python] lambda, sorted(iterable,key,reverse) (0) | 2024.12.22 |
[python] 딕셔너리 setdefault과 get (0) | 2024.12.21 |
[python] 접두사 startswith (1) | 2024.12.20 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 티스토리챌린지
- 영어회화
- 아침
- Python
- 뉴스
- 오픽
- 기초
- 빅데이터 분석기사
- ChatGPT
- 실기
- Ai
- 운동
- 습관
- 스크랩
- opic
- 다이어트
- 프로그래머스
- 오블완
- 갓생
- 줄넘기
- 미라클모닝
- 30분
- 루틴
- llm
- 고득점 Kit
- 아침운동
- IH
- C언어
- SQL
- 경제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함