티스토리 뷰
반응형
스택 2개로 큐를 구현하기
스택 2개로 큐를 구현하다구? 뭔 개소리야... 라고 생각한다면.. 이 문제를 처음접했었던 저의 반응과 같아요 ^~^ 아래를 참고합시다.
즉 큐를 구현하고싶은데 스택두개를 쓴다는 거구요, 스택 한개는 큐에 푸쉬 전용으로 (enqueue) 다른 스택은 dequeue 전용으로 쓴다는 겁니다.
1 개요
아래는 구조체와 메인함수, 구현 내용입니다.
2 queue init
3 enqueue
enqueue 는 기본적으로 stack 푸쉬해줍니다. 저는 s1에 푸쉬를 해주었습니다.
4 dequeue
dequeue는 기본적으로 stack에서 팝하는것입니다. 저는 s2에서 팝합니다. 단 dequeue 가 처음 수행될 때는 s2는 반드시 top이 0이기때문에 s1에서 팝해온뒤 s2로 푸쉬하는 동작이 필요합니다. 그 외의 경우에는 s2에서 팝해서 리턴값으로 받습니다.
수고하셨습니다. 굉장히 쉬웠습니다만, 스택으로 큐를 구현한다는 문제가 있다는 것을 모른다면 당황하고 이해 못해서 못푸는 문제일 수 있겠습니다. 절대 제가 당시에 못 풀어서 이런 당부드리는건 아닙니다 ㅡ.ㅡ..... 뻘쭘
전체코드보기
https://github.com/ingyeoking13/algorithm/blob/master/swtest/sk/p5.c
반응형
'알고리즘 문제 > 입사문제' 카테고리의 다른 글
입사문제 자료구조 큐만들기 (0) | 2017.09.25 |
---|
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- javascript
- 자바스크립트
- 아레나
- arena simulation
- 백준
- 아레나시뮬레이션
- 그라파나
- 명제논리
- paul wilton
- 최단경로 알고리즘
- grafana cloud
- beginning javascript
- rosen
- 아레나 시뮬레이션
- 대규모 시스템 설계 기초
- Propositional and Predicate Logic
- 데이터 중심 애플리케이션 설계
- flutter
- Arena
- Simulation
- 로젠
- 시뮬레이션
- 자바스크립트 예제
- Grafana
- 이산 수학
- 엄청난 인내심과 시뮬레이션을 위한 아레나 툴
- 이산수학
- Discrete Mathematics
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- 항해99
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함