본문 바로가기

Coding Test31

[Coding Test][Python] Hash Table(Dictionary) 개념 및 예제 ※ Hash Table 이란?효율적인 탐색을 위한 자료구조로써 key-value 쌍의 데이터를 입력받는다. Hash Function $h$의 key값을 입력으로 얻은 해시값 $h(k)$를 위치로 지정하여 저장한다. 저장, 삭제, 검색의 시간복잡도는 모두 O(1)이다. Direct Access AddressDirect Access Address는 특정 Key 값을 주소로 직접 사용하여 데이터를 저장하는 방식이다.위 2가지 단점이 존재하기 때문에 Key 값에 Hash Function을 적용하여 사용한다.불필요한 메모리 공간 낭비ex) Key 값이 1, 1000 => 2개의 데이터를 위해 1000개의 공간이 필요Key 값으로 문자열이 올 수 없다Collision서로 다른 Key의 Hash.. 2025. 1. 27.
[Coding Test][Python] Stack 개념, Stack 구현 및 예제 ※ Stack 이란?데이터를 선형으로 저장하는 자료 구조로 LIFO(Last In, First Out) 구조를 가진다.Stack 주요 연산Push : Stack의 맨 위(Top)에 데이터 삽입Pop : Stack의 맨 위(Top)에 있는 데이터 제거하고 returnTop : Stack의 맨 위(Top)에 있는 데이터를 조회Stack 활용 사례재귀 함수 처리괄호 매칭DFS문자열 뒤집기등등1. Stack 구현Stack은 Python에 특별한 라이브러리가 존재하지 않고 List를 Stack으로 사용한다.아래 코드에서는 Stack Class를 정의하여 사용하였지만 바로 List에 적용하면 된다.class Stack(object): def __init__(self): self.list = [].. 2025. 1. 15.
[Coding Test][Python] Queue 정리 및 List Based Queue 구현 ※ Queue란 ?데이터를 선형으로 저장하는 자료구조로, FIFO(First In, First Out) 방식으로 작동한다.주요 Method로는 Enqeue(데이터를 Queue의 뒤쪽에 추가), Dequeue(데이터를 Queue 앞에서 제거)가 있다.1. Python Method 사용법append(x=)q = deque()q.append(1)q.append(2)q.append(3)q.append(4)q deque([1, 2, 3, 4]) appendleft(x=)q = deque()q.appendleft(1)q.appendleft(2)q.appendleft(3)q.appendleft(4)q deque([4, 3, 2, 1]) extend(iterable=)기존 Queue에 다른 Iterable 한 객체의 .. 2025. 1. 15.
[Coding Test][Python] List 정리 및 Linked List 구현 1. Python Method 사용법append(object=)li = [1,2,3]li.append(1)li [1, 2, 3, 1] clear()li = [1,2,3]li.clear()li [] copy()li = [1,2,3]# Deepcopyli2 = li.copy()print(li2)li[1] = 1print(li2)[1, 2, 3, 1] count(value=)value가 없어도 Error가 나지 않는다li = [1,2,2,3]print(li.count(2))print(li.count(4)) 2 0 extend(iterable=)기존 List에 다른 Iterable 한 객체의 원소를 이어붙인다li = [1,2,3] li2 = [1,2,3]# 원본 리스트를 수정하고 새로운 list를 반환하지.. 2025. 1. 14.