역시,,집중을 안해서 못푼거였어
오늘은 알고리즘 풀때 집중해서 풀었더니
진도가 슥슥 잘 지나가는 거 같다
못풀었던 Linkedlist문제도 풀었고
오늘, 내일해서 재귀함수 부분까지 마치고 종합적으로 2강 알고리즘 개념을 정리하면 될 것같다.
같이 수업듣는 분들이 4~5강을 듣고 있는걸 보면서
요즘 마음이 조급하고 불안함이 들었었다.
그.러.나
옆에 차가 빠르게 달린다고 해서 나도 속도를 내다가 사고가 나면 안되는 일
나는 나의 속도로 천천히 배워나가면 된다고 생각한다.
실제로 이런 마음가짐은
살면서 필요하다고 생각한다
모두가 빠르게 달릴 필요는 없다
그러나 규정은 지켜서 가야지
규정 = 기본기, 정해진 것을 해내는 것
아래는 여태 못풀었던 Linkedlist 알고리즘이다
기본 원리를 잘 이해하고 넘어가자
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):
add_node = Node(value)
new_node = self.get_node(index)
cur = self.get_node(index - 1)
cur.next = add_node
cur = cur.next
cur.next = new_node
cur = cur.next
return cur
#노드 삭제
def remove_node(self, index):
cur = self.get_node(index-1)
cur.next = self.get_node(index+1)
cur = cur.next
return cur
linked_list = LinkedList(5)
linked_list.append(12)
linked_list.append(44)
linked_list.get_node(1)
linked_list.add_node(2, 30)
linked_list.add_node(2, 50)
linked_list.remove_node(2)
linked_list.print_all()
'내일배움캠프 > Today I Learned' 카테고리의 다른 글
[내배캠] 나의 열다섯번째 회고록 (1) | 2022.11.19 |
---|---|
[내배캠] 나의 열네번째 회고록 (0) | 2022.11.17 |
[내배캠] 나의 열두번째 회고록 (0) | 2022.11.15 |
[내배캠] 나의 열한번째 회고록 (0) | 2022.11.14 |
[내배캠] 나의 열번째 회고록 (0) | 2022.11.13 |