Python/Data Structure & Algorithm

    2. 연결 리스트 (Linked List)

    1. 노드 정의 class Node: def __init__(self, item): self.data = item self.next = None 노드는 자신이 가지고 있는 값을 나타내는 data 와 다음 노드를 가리키는 next 를 가지고 있다. 2. 연결 리스트 생성자 class LinkedList: def __init__(self): self.nodeCount = 0 self.head = None self.tail = None 3. 연결리스트 인덱스에 해당하는 노드를 가져오는 메서드 - getAt def getAt(self, pos): # 입력한 인덱스가 범위를 벗어나는 경우 if pos self.nodeCount: return IndexError i = 1 #처음부터 curr..

    1. 이진 탐색

    문제 설명 : 리스트 L 과, 그 안에서 찾으려 하는 원소 x 가 인자로 주어질 때, x 와 같은 값을 가지는 원소의 인덱스를 리턴하는 함수 solution() 을 완성하세요. 만약 리스트 L 안에 x 와 같은 값을 가지는 원소가 존재하지 않는 경우에는 -1 을 리턴합니다. 리스트 L 은 자연수 원소들로 이루어져 있으며, 크기 순으로 정렬되어 있다고 가정합니다. 또한, 동일한 원소는 두 번 이상 나타나지 않습니다. 예를 들어, L = [2, 3, 5, 6, 9, 11, 15] x = 6 의 인자들이 주어지면, L[3] == 6 이므로 3 을 리턴해야 합니다. 다른 예로, L = [2, 5, 7, 9, 11] x = 4 로 주어지면, 리스트 L 내에 4 의 원소가 존재하지 않으므로 -1 을 리턴해야 합니다..