๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
[Coding Interview University] ์คํ : ์ด๋ก ๋ฐ ๊ตฌํ ๋ณธ๋ฌธ
[Coding Interview University] ์คํ : ์ด๋ก ๋ฐ ๊ตฌํ
์ง์ง์ํ์นด 2023. 7. 1. 15:01<๋ณธ ๋ธ๋ก๊ทธ๋ ์ฝ๋ฉ์ธํฐ๋ทฐ๋ํ ๋์ Git๊ณผ ์์ ์ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๋ฉฐ ์์ฑํ์์ต๋๋ค :-)>
๐ซง ์คํ
: ๋ฐ์ดํฐ๋ฅผ ์์ ์ฌ๋ฆฐ๋ค
: LIFO (Last In First Out) ์ ๋ฐ๋ผ ์๋ฃ๋ฅผ ๋ฐฐ์ดํ๋ค
: ๊ฐ์ฅ ์ต๊ทผ์ ์คํ์ ์ถ๊ฐํ ํญ๋ชฉ์ด ๊ฐ์ฅ ๋จผ์ ์ ๊ฑฐ๋ ํญ๋ชฉ
: ๋ฐฐ์ด๊ณผ ๋ฌ๋ฆฌ ์คํ์ ์์ ์๊ฐ์ i ๋ฒ์งธ ํญ๋ชฉ์ ์ ๊ทผํ ์ ์์
: ์คํ์์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ๋ ์ฐ์ฐ์ ์์ ์๊ฐ์ ๊ฐ๋ฅํ๋ค
๐ซง ์คํ์ด ์ ์ฉํ ๊ฒฝ์ฐ
: ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ ๋ ์ ์ฉํจ
: ์ฌ๊ท์ ์ผ๋ก ํจ์๋ฅผ ํธ์ถํด์ผ ํ๋ ๊ฒฝ์ฐ์ ์์ ๋ฐ์ดํฐ๋ฅผ ์คํ์ ๋ฃ์ด ์ฃผ๊ณ , ์ฌ๊ท ํจ์๋ฅผ ๋น ์ ธ ๋์ ํด๊ฐ ๊ฒ์(backtrack) ํ ๋๋ ์คํ์ ๋ฃ์ด ์ฃผ์๋ ์์ ๋ฐ์ดํฐ๋ฅผ ๋นผ ์ค์ผ ํ๋ค
: ์ผ๋ จ์ ํ์๋ฅผ ์ง๊ด์ ์ผ๋ก ๊ฐ๋ฅํ๊ฒ ํด ์ค๋ค
: ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ณต์ ํํ (iterative) ๋ฅผ ํตํด์ ๊ตฌํํ ์ ์๊ฒ ํจ
๐ซง ์คํ ๊ตฌํํ๊ธฐ
function Stack(arr = Array()) {
this.arr = arr;
}
let stk = new Stack();
let stk2 = new Stack(['test', 'test2']);
โก๏ธ isEmpty() : ๋น์ด์๋์ง ํ์ธ(๋ฐํ๊ฐ t/f)
Stack.prototype.isEmpty = function(){
return this.arr.length === 0;
}
โก๏ธ push(data) : ์คํ์ ๋ฐ์ดํฐ ์ถ๊ฐํ๊ธฐ
Stack.prototype.push = function (data) {
this.arr.push(data);
};
โก๏ธ pop() : ์คํ ๋งจ ์์ ๋ฐ์ดํฐ ์ญ์ ํ๊ธฐ
Stack.prototype.pop = function () {
return this.arr.pop();
};
โก๏ธ top() : ์คํ ๋งจ ์์ ๋ฐ์ดํฐ ํ์ธํ๊ธฐ
Stack.prototype.top = function () {
return this.arr.slice(-1);
};
โก๏ธ size() : ์คํ์ ๋ฐ์ดํฐ ๊ฐ์ ์ถ๋ ฅ
Stack.prototype.size = function () {
return this.arr.length;
};
'๐ฉโ๐ป ์ปดํจํฐ ๊ตฌ์กฐ > Computer Science' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Coding Interview University] ํด์ํ ์ด๋ธ : ์ด๋ก ๋ฐ ๊ตฌํ (0) | 2023.07.05 |
---|---|
[Coding Interview University] ํ : ์ด๋ก ๋ฐ ๊ตฌํ (0) | 2023.07.03 |
[Coding Interview University] ๋งํฌ๋ ๋ฆฌ์คํธ : ์ด๋ก ๋ฐ ๊ตฌํ (0) | 2023.06.29 |
[Coding Interview University] ๋ฐฐ์ด : ์ด๋ก ๋ฐ ๊ตฌํ (0) | 2023.06.28 |
[Coding Interview University] ๋น ์ค(Big-O)ํ๊ธฐ๋ฒ (0) | 2023.06.28 |