본문 바로가기

내일배움캠프/Today I Learned

[내배캠] 나의 열두번째 회고록

알고리즘이 이해가 잘 안되서 몇일 째 진도를 못나가고 있다. 

하지만 진도보다 나는 이해가 더 중요하기에

답안을 보지않고 최대한 끝까지 스스로 풀어보고 싶어서 붙잡고 있다. 

 

이해가 안가는 부분을 최대한 내 머리속에서 

이해시키는게 이번주 알고리즘 목표다

 

링크드 리스트 add부분이 이해가 잘 되지 않는다

 

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


class LinkedList:
    def __init__(self, value):
        self.head = Node(value)

    def append(self, value):
        cur = self.head
        while cur.next is not None:
            cur = cur.next
        cur.next = Node(value)

    def print_all(self):
        cur = self.head
        while cur is not None:
            print(cur.data)
            cur = cur.next

    def get_node(self, index):
        node = self.head

        for i in range(index):
            node = node.next

        return node

    def add_node(self, index, value):
        node = self.head
        next_node = self.get_node(index)
        add_node = Node(value)
        count = 0

        while count < index-1:
            node = node.next
            count += 1

        node = add_node
        node.next = next_node

        return 1

linked_list = LinkedList(5)
linked_list.append(12)
linked_list.get_node(1)
linked_list.add_node(2, 20)
linked_list.print_all()