스택(stack)

2020-02-09
DataStructure

안녕하세요. 도미닉입니다.

오늘은 스택에 대해서 알아보겠습니다.

스택에 대해서 들어본 분들도 많으실 겁니다.

확실히 알고 넘어가죠!

Stack 이란 무엇인가?

쌓는 것을 스택이라고 한다.

일상에서 우리는 무언가를 쌓고 또 쓰러뜨린다.

뷔페에 갔을 때 접시가 가지런히 쌓여있는 것도 Stack 이다.

책을 쌓아놓는 것도 Stack 이고 프린터 입구에 종이 여러 장이 쌓여있는 것도 Stack 이다.

Stack 은 어떻게 동작하는가?

뷔페에서 접시가 쌓여있을 때 가장 아래부터 접시를 가져가는 사람은 아마 없을 것이다.

일반적으로 Stack 은 First In Last Out 이다.

먼저 쌓은 것(예를 들면 가장 아래에 있는 접시)이 가장 나중에 사용된다.

가장 위에 뭔가를 쌓는 것을 push, 가장 위에 있는 것을 가져가는 것을 pop 이라고 한다.

iOS 에서 addSubview 메소드를 통해 뷰 위에 뷰를 쌓는 것도 스택이다.

Swift 로 Stack 구현하는 방법은 무엇인가?

배열을 이용해 간단하게 Stack 을 구현해보았다.

이런 식으로 push, pop 을 동작하게 만들면 그것을 어떻게 만들던 Stack 이라고 할 수 있다.

정리

스택에 대해서 알아봤습니다.

뭔가를 쌓고 가장 위에 있는 것부터 사용하는 것은 일상적인 행동입니다.

이러한 행동에서 영감을 얻어 자료를 쌓고 가장 위에부터 빼서 사용하도록 컴퓨터 상에 구성한 것이 Stack 입니다.

어렵지 않고 편하게 사용할 수 있도록 연습해야겠습니다.

감사합니다.