[AI 웹 개발] 셋째주_5일차

매일 성장하는 개발자·2023년 8월 25일

AI 웹 개발

목록 보기
14/36

정신차려 이 각박한 자료구조 속에서

오늘의 학습 키워드

  1. Stack
  2. Queue

이것만은 기억하자!

  1. Stack은 LIFO, 뒤로가기/되돌리기 기능에서 쓰인다!

  • 필요한 메소드/함수 = push, pop, is_empty
  • 빨래바구니에 수건을 넣는 것처럼 제일 먼저 올라간 top으로 본다.
  • 제일 처음에 넣는 top/스택은 없으므로, none으로!
  • 새로 push되는 top은 기존에 있던 top을 가리켜!
  • pop 기능 구현: top이 비어있는지 여부를 구분해서, top이 있다면, node로 지저해주고, 가장 위에있는 top을 빼고, 다음 top으로 교체해주고 원래 있던 node item 반환!
  • 파이썬에서는 list를 stack으로 활용할 수 있다.
  1. Queue: First In First Out, 선입선출
  • Queue의 입력은 front로!
  • 필요한 메소드: push, pop, is_empty
  • push할 때 처음 입력한 front 유무에 따라 ... 있다면! 연결리스트처럼 끝까지 가서 마지막 녀석에 노드를 새로 만들어 넣어준다!
node = self.front
        while node.next:    # 연결리스트처럼 끝까지 가서 
            node = node.next  # 끝까지 가서
        node.next = Node(value, None) # 끝 녀석의 다음을 새로 만들어서 넣어준다.
  • pop 할 때도 front 유무 구분 필 !
  • front가 안 비었다면, 첫번재 node를 꺼내고, 새로운 front는 기존 front의 다음 것으로 지정해주기!
  • 파이썬에서 Queue는 deque / deque 생성자 만들면 deque화 된다!

deq = deque([i for i in range(1, num + 1)])

  • deque: 양쪽 끝에서 빠르게 추가 삭제할 수 있는 리스트류 컨테이너(파이썬 내장)
  • deque 이점: 시간 복잡도를 낮춰줘요!
    • append(x): 데크의 오른쪽에 x를 추가한다.
    • appendleft(x): 데크의 왼쪽에 x를 추가한다.
    • pop(x): 데크의 오른쪽에서 요소를 제거하고 반환한다.
    • popleft(x): 데크의 왼쪽에서 요소를 제거하고 반환한다.

오늘의 회고

방황이랄까..?

셋째주 5일차..
과제도, 프로젝트도 없이 코딩테스트를 위한 이론 배우는 어제 오늘이었다.
코딩테스트 정말 중요하다. 나도 안다.
근데 기강이 헤이해진 건 ... 분명히 나의 게으른 자아의 농간이겠지.

단순히 농간이라고 치부하기엔, 즐겼다.
쉬는 시간이라고 하기엔 초반에 비해 길어졌고, 계속 머리를 쓰면서 자료구조의 구현을 머리 속으로 집어넣고 이해하고자 하니까 루즈해지는 건가..

다 집어치우고, 태도의 문제다.
이번 내일배움캠프의 내 스스로 세운 슬로건은 '몰입'이다.
어떤 일이든 몰입한 사람을 이길 수 없다는 믿음으로 시작했건만, 루즈해진 나 자신..

토요일에 학습할 내용

  • 파이썬 기초 개인과제 코드 리뷰
  • class 학습
  • 자료구조 복습

일요일은 푹 쉬고, 토요일에 보충 공부를 해야겠다.
파이팅 ~..

profile
로드 투 개발자 아카이빙

0개의 댓글