본문 바로가기
코딩 테스트

[06-2] Stack은 어떻게 쓸까?

by 너티드코오딩 2023. 11. 9.

 

너무 익숙한 Stack. 그러면 Stack은 어떻게 쓸 수 있을까?

1. LIFO를 활용하는 문제들에서는 당연히 Stack을 쓴다.

2. DFS(깊이 우선 탐색)에서 사용된다. [재귀]

 

* 대표적으로 유효성 문제 에서 Stack을 쓴다.

 

A = ()[(())]{[]} 

이게 유효한지 검사할 때를 생각해보자.

어떻게 해야하지? +1, -1 해서..0으로 할까?

이런 생각부터 시작하는 것이다. 

하지만 그게 말이될까? ( ] 하면 0이되는데.. 어떡하지?

이렇다보면 아! LIFO 으로 하면 되는구나! 생각이 들것이다.

 

이렇게 생각을 할 수 있는 것이 코딩적 사고다.

 

* 조건이 필요할 때 Stack을 쓴다.

예를 들어서, 다음 숫자보다 커질 때 까지 몇일이 걸리는지?

[13, 15, 7, 9, 14, 17]

⇒[1, 4, 1, 1, 0] 

이것은 결국 유효성 문제이다. 즉, 특정 조건 하에서만 반응을 하는 것이다!

 

 

 

 

모르겠으면 우선 외우자. 그러면서 응용확장해보면 된다.

'코딩 테스트' 카테고리의 다른 글

[07-2] 해시 테이블(Hash Table)이란? (2)  (1) 2023.11.14
[07-1] 해시 테이블(Hash Table)이란? (1)  (1) 2023.11.14
[06-1] 스택(Stack)이란?  (3) 2023.11.09
[05-1] 큐(Queue)란?  (0) 2023.11.09
[04-2] 연결 리스트의 활용  (2) 2023.11.09