24 lines
		
	
	
		
			760 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			24 lines
		
	
	
		
			760 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								title: Learn how a Stack Works
							 | 
						||
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								## Learn how a Stack Works
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### Method:
							 | 
						||
| 
								 | 
							
								- Stacks are an abstract data structures.
							 | 
						||
| 
								 | 
							
								- They follow LIFO (Last In First Out) or FILO (First In Last Out) principle.
							 | 
						||
| 
								 | 
							
								- Stack's insertion and deletion operations are of **O(1)** time complexity.
							 | 
						||
| 
								 | 
							
								- In Javascript, arrays can be treated as a Stack since `.push()` and `.pop()` methods have time complexity of **O(1)**.
							 | 
						||
| 
								 | 
							
								- In this challenge we need to `.pop()` and then `.push()` into the stack.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### Solution:
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								var homeworkStack = ["BIO12","HIS80","MAT122","PSY44"];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								homeworkStack.pop();
							 | 
						||
| 
								 | 
							
								homeworkStack.push("CS50");
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								### Reference:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								- [Wikipedia](https://en.wikipedia.org/wiki/Stack_(abstract_data_type))
							 | 
						||
| 
								 | 
							
								- Video by [Hackerrank](https://www.youtube.com/watch?v=wjI1WNcIntg)
							 |