Stack이란 무엇이냐
- data를 일시적으로 저장할려고 사용하는 data structure
- data 입출력 순서는 후입 선출(Last In First Out LIFO)이다.
- data를 넣는 작업을 push / 꺼내는 작업을 pop이라 한다.
즉, stack은 배열을 세로로 세워서 생각하면 편리하다.
linked list이고 뒤로 넣고 뺼 수 있는 것이다.(하지만 앞으로는 넣고 빼지 못한다.) JavaScript에서는 array에서 shift unshift없이 push pop만 있다고 생각하면 된다.(push와 pop은 stack에서 나온 것이다.) 다른 한 가지의 메소드는 stackTop으로 스택의 마지막 요소를 알려주는 것이다. 스택의 마지막 요소를 top이라고 부른다.
프로그래밍상에서 스택이 자주 등장하는데 stack overflow나 stack underflow 둘 다 메모리보다 데이터를 더 넣었거나 메모리가 비었는데 데이터를 꺼내려고 할 때 발생하는 에러이다.
이번 문제에서는 (와 )가 세로로 새워진 배열에 들어갔다고 연상하면서 문제를 풀어보면 (가 들어가고 )가 들어갈때는 (이 나온다고 생각하면서 코드를 작성하자. 아래코드를 보자.
<body>
<script>
function solution(s) {
let answer = "YES";
stack = [];
for (let x of s) {
if (x === '(') stack.push(x);
else {
if (stack.length === 0) return "NO";
stack.pop();
}
}
if (stack.length > 0) return "NO";
return answer;
}
let a = "(())(())))";
console.log(solution(a));
</script>
</body>
<출처 : 자바스크립트 알고리즘 문제풀이(코딩테스트 대비): 김태원>
자바스크립트 알고리즘 문제풀이(코딩테스트 대비) - 인프런 | 강의
자바스크립트(JavaScript)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 재미있게 풀 수 있는 기초 단계 문제부터 고급 알고리즘까지 단계별로 차근차근 배우도록 설계된 강좌입니다., 개발
www.inflearn.com
참고: https://medium.com/@sindepal/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-stack-76f955f6c2dc
알고리즘 - Stack
Stack 이란 ?
medium.com
https://www.zerocho.com/category/Algorithm/post/5800b79e1dfb250015c38db6
(Algorithm) 자료구조(스택, stack)
안녕하세요. 이번 시간에는 스택에 대해 알아보겠습니다! 스택은 실생활에도 많이 사용되는 자료구조 중 하나입니다. 연결 리스트인데 뒤로 넣고 뒤로만 뺄 수 있습니다. 앞으로는 넣지도, 빼지
www.zerocho.com
https://www.tutorialspoint.com/data_structures_algorithms/stack_algorithm.htm
Data Structure and Algorithms - Stack - Tutorialspoint
Data Structure and Algorithms - Stack A stack is an Abstract Data Type (ADT), commonly used in most programming languages. It is named stack as it behaves like a real-world stack, for example – a deck of cards or a pile of plates, etc. A real-world stack
www.tutorialspoint.com
'JavaScript > JS_Algorithm' 카테고리의 다른 글
[인프런 - JS 알고리즘 문제풀이] stack판단3 (0) | 2021.08.05 |
---|---|
[인프런 - JS 알고리즘 문제풀이] stack판단2 (0) | 2021.08.05 |
[인프런 - JS 알고리즘 문제풀이] 공통인자 구해보기 (0) | 2021.08.05 |
[인프런 - JS 알고리즘 문제풀이] Array 문제 (0) | 2021.08.05 |
[인프런 - JS 알고리즘 문제풀이]아나그램 갯수문제(Hashing과 연관) (0) | 2021.08.05 |