스택과 큐 — 아이들의 장난감 상자 모험!
Source: Dev.to
Stack: 쿠키 타워 게임
스택은 쿠키 타워를 쌓는 것과 같습니다. 쿠키를 위에만 놓을 수 있고, 위에서만 꺼낼 수 있습니다. 마지막에 넣은 쿠키가 가장 먼저 먹히는 것이죠!
현실 예시
- 접시 쌓기: 가장 위에 있는 접시가 먼저 씻겨요
- 게임의 실행 취소 버튼: 마지막에 한 동작을 제거해요
간단한 코드로 체험하기 (Python)
cookie_tower = [] # 빈 타워
# 쿠키 추가 (위에)
cookie_tower.append("chocolate")
cookie_tower.append("strawberry")
print("Tower:", cookie_tower) # ['chocolate', 'strawberry']
# 쿠키 꺼내기 (위에서)
top_cookie = cookie_tower.pop()
print("Eat:", top_cookie) # strawberry
print("Left:", cookie_tower) # ['chocolate']
규칙: 마지막에 들어간 것이 먼저 나오는(LIFO) — 최신 그림 스트로크를 되돌리는 것과 같아요!
Queue: 줄 서는 기차
큐는 아이들이 학교 버스를 기다리는 것과 같습니다. 줄에 먼저 선 아이가 먼저 탑승해요! 장난감은 뒤쪽에 들어가고 앞쪽에서 나옵니다.
현실 예시
- 영화관에서 티켓 구매: 먼저 온 사람이 먼저 입장
- 프린터 작업: 먼저 보낸 파일이 먼저 인쇄
간단한 코드로 체험하기 (Python)
train_line = [] # 빈 줄
# 줄에 합류 (뒤쪽)
train_line.append("Amy")
train_line.append("Ben")
print("Line:", train_line) # ['Amy', 'Ben']
# 줄에서 나가기 (앞쪽)
first_out = train_line.pop(0)
print("Next:", first_out) # Amy
print("Left:", train_line) # ['Ben']
규칙: 먼저 들어간 것이 먼저 나오는(FIFO) — 쉬는 시간 줄처럼 공정하고 질서정연해요!
지금 바로 플레이하는 방법
시작하기
- 컴퓨터에서 Python을 실행하세요(또는 python.org 온라인을 이용).
- 코드를
toy_boxes.py라는 파일에 복사합니다. - 명령줄에서
python toy_boxes.py를 실행합니다.
화면에 나타나는 내용
Tower: ['chocolate', 'strawberry']
Eat: strawberry
Left: ['chocolate']
Line: ['Amy', 'Ben']
Next: Amy
Left: ['Ben']
실제 생활에서 어디에 숨겨져 있을까?
- 스택: 브라우저 뒤로 가기 버튼, 퍼즐 게임의 움직임.
- 큐: 슈퍼마켓 계산대, 비디오 게임 대기 리스트.
이제 당신은 장난감 상자 마스터! “apple”이나 “banana”를 두 곳 모두에 추가하고 누가 먼저 나오는지 확인해 보세요. 즐겁게 놀고 친구들과 공유하세요! 🚂🍪