목록goorm (3)
욤미의 개발일지
[Lecture 9] Advanced Data Structure 우선순위 큐, 스택, 큐, linked list, 기본 값이 있는 dictionary 등 좀 더 강력한 자료구조를 사용하고 싶을 때 Stack FILO 구조 기존 list를 활용한다. 동적 배열이기 때문에 push와 pop이 O(1) append: push 연산 / pop: pop 연산 Queue FIFO 구조 list로 구현할 수는 있지만 처음 위치에 삽입/삭제하는 경우 O(N)이 걸림 linked list 구조를 활용해야함 tail에서 데이터 추가, head에서 데이터 삭제 double linked list는 양방향으로 접근 가능한 데이터 구조 - Deque 중간 random access가 어렵다. head, tail에서 원하는 위치로 ..
[Lecture 8] Module & Package 모듈과 패키지로 작성한 코드를 재사용할 수 있다. 파이썬에서 모듈 = .py 파일 import module 모듈을 불러올 수 있다. 해당 파일의 최상위에 선언된 모듈의 요소들을 불러올 수 있다. module.element로 사용가능 . 혹은 .. 없이는 절대 경로 기준이다.(python이 실행되는 곳) import문은 import된 .py 파일을 처음부터 끝까지 실행시킨다. 모듈로 import 했을 때 특정 Block만 실행시키고 싶다면? __name__ 기본 변수는 현재 모듈의 이름을 보여줌. main으로 실행중이면 __main__이라는 특수한 이름을 가짐 def add(num1: int, num2: int) -> int: return num1 + n..
[Lecture 7] Object-Oriented Programming 절차 지향 프로그래밍 절차를 차례대로 작성하는 것 → 절차 지향 프로그래밍 중간 과정을 수정하면 뒤에 있는 코드도 수정해야할 수도 있음. 협업 시 프로그래머의 수정 사항이 다른 프로그래머에게 큰 영향을 줌 → 코드를 객체 단위로 나눌 필요가 있다. = 객체 지향 프로그래밍 클래스(Class)당 객체(Object)는 여러개 일 수 있다. 각 객체의 데이터(Attribute)는 달라도 행동(Method)는 동일하다. Class 클래스명(부모클래스)클래스 선언 클래스명은 CamelCase가 관습적으로 사용 부모 클래스가 지정되지 않으면 object가 자동 상속된다. 클래스 속성 모든 객체가 같은 값을 참조, but 남용하면 스파게티 코드의..