항해99 TIL 1주차 -3

강민범·2023년 10월 18일
0

1주차부터 3주차까지 알고리즘과 자료구조를 공부하는 주차이다.
오늘은 스택에 대해서 배웠는데 리스트로 스택을 구현 할 수 있다는 것을 오늘 깨달았다. 그래도 나름 전공과라서 어느정도 개념이 잡혀있는줄 알았는데 아니였고 아직 한참 부족한다는것을 알았으니까 더 열심히 공부해야겠다.

스택(Stack)

스택이란 후입선출(LIFO)이라고도 불리는데 제일 마지막으로 들어간 데이터가 가장 먼저 나오는 데이터이다.

class Node:
	def __init__(self, val, next):
		self.val = val
    	self.next = next

class Stack:
	def __init__(self):
    	self.top = None
        
	def is_empty(self):
    	if self.top is None
    
    
    def push(self, value):
    	self.top = Node(val,self.top)
        
    def pop(self):
    	if self.top is None:
        	return None
        
        node = self.top
        self.top = self.top.next
        
        return node.item      
list = []

for i in range(0,5):
	list.append(i)
print(list) // [0, 1, 2, 3, 4]
list = [0,1,2,3,4]

for i in range(0,len(list)):
	list.pop()

print(list)

Enumerate

Enumerate는 파이썬에서 기본으로 제공하는 라이브러리 함수입니다.

enumerate(iterable, startIndex)

itereable는 반복할 수 있는 개체이며
startIndex는 0부터 루프 끝에 도달할때까지 값이 증가합니다.

list = [1,2,3,4]


for i,d in enumerate(list):
	print(i,d) //0 1
				1 2
				2 3
				3 4

Counter

Counter란 항목의 개수를 셀 때 사용하는 클래스입니다.
인자 또는 리스트를 넘겨주면 각 항목의 값을 키 값으로 갯수를 알려줍니다.

from collections import Counter

list=[0,0,0,0,1,1,2,2,3,3,3,3]

c = Counter(list)

print(c) //Counter({0: 4, 3: 4, 1: 2, 2: 2})
from collections import Counter

a = "aaabbc"

c = Counter(a)

print(c) //Counter({'a': 3, 'b': 2, 'c': 1}) 

값이 나오는 순서도 보면 갯수가 많은 순서대로 출력이 되는것을 볼 수 있습니다.

profile
개발자 성장일기

0개의 댓글