본문 바로가기

파이썬183

[코딩 + 알고리즘 완주반] 12일차. 스택, 링크드 리스트 # 스택(Stack) 데이터를 제한적으로 접근할 수 있는 구조 - 한쪽 끝에서만 자료를 넣거나 뺄 수 있는 구조 가장 나중에 쌓은 데이터를 가장 먼저 빼낼 수 있는 구조 LIFO(Last In First Out) # 스택의 활용 컴퓨터 내부의 프로세스 구조의 함수 동작 방식 # 주요 기능 -push() : 데이터를 스택에 넣기 -pop() : 데이터를 스택에서 꺼내기 # 스택 구조 프로세스 실행 구조를 스택과 비교해서 이해 # 스택의 장단점 장점 : 구조가 단순해서 구현이 쉽다 더이터 저장/읽기 속도 빠르다 단점 : -데이터 최대 개수를 미리 정해야한다. 저장공간의 낭비가 발생할 수 있음 # 리스트 변수로 스택 구현해보기 stack_list = list() def push(data): stack_list.. 2021. 3. 27.
[LEET CODE] 232. Implement Queue using Stacks # Problem Implement a first in first out (FIFO) queue using only two stacks. The implemented queue should support all the functions of a normal queue (push, peek, pop, and empty). Implement the MyQueue class: void push(int x) Pushes element x to the back of the queue. int pop() Removes the element from the front of the queue and returns it. int peek() Returns the element at the front of the queu.. 2021. 3. 26.
[LEET CODE] 225. Implement Stack using Queues # Problem Implement a last in first out (LIFO) stack using only two queues. The implemented stack should support all the functions of a normal queue (push, top, pop, and empty). Implement the MyStack class: void push(int x) Pushes element x to the top of the stack. int pop() Removes the element on the top of the stack and returns it. int top() Returns the element on the top of the stack. boolean.. 2021. 3. 26.
[코딩 + 알고리즘 완주반] 11일차. 배열, 큐 # 꼭 알아둬야 할 자료구조 - 배열 데이터를 나열하고 각 데이터를 인덱스에 대응하도록 구성한 데이터 구조 파이썬에서는 리스트 타입이 배열 기능을 제공하고 있음 장점 - 빠른 접근 가능 단점 - 데이터 추가/삭제가 어렵다 # 파이썬과 배열 파이썬 리스트 활용 # 대표적인 데이터 구조 : 큐 FIFO ( First in First Out) ( 줄을 서는 것과 유사) LILO ( Last In Last Out) # 용어 enqueue : 데이터를 넣는 기능 dequeue : 데이터를 빼는 기능 # 파이썬 큐 라이브러리( import queue ) Queue() : 가장 일반적인 큐 자료 구조 - put, get, qsize LifoQueue() : 나중에 입력된 데이터가 먼저 출력되는 구조(스택구조) - p.. 2021. 3. 25.
[코딩 + 알고리즘 완주반] 11일차. Object Reference # is , __eq__ is, id : id 비교 ( 같은 객체 인지) __eq__, == : 값이 같은지 비교 # 객체 참조 중요한 특징들 # python object reference print("ex1-1") print(dir()) # id vs __eq__ (== 증명) x = {'name':'kim','age':33,'city':'Seoul'} y=x # 얕은 복사 print('ex-2-1 - ', id(x),id(y)) print('ex-2-2 - ', x==y) print('ex-2-3 - ', x is y) print('ex-2-4 - ', x,y) x['class'] = 10 # x가 수정되면 y도 수정됨 print('ex2-5 - ',x,y) print() z = {'name':'ki.. 2021. 3. 25.
❗️[LEET CODE] 316. Remove Duplicate Letters # Problem Given a string s, remove duplicate letters so that every letter appears once and only once. You must make sure your result is the smallest in lexicographical order among all possible results. Note: This question is the same as 1081: https://leetcode.com/problems/smallest-subsequence-of-distinct-characters/ Constraints: 1 str: counter, seen, stack = collections.Counter(s), set(), [] for.. 2021. 3. 23.
반응형