728x90
반응형

분류 전체보기 186

[자료구조] 큐 - 우선순위 큐를 활용한 미로 탐색

🙆‍♂️ 우선순위 큐 """ 우선순위 큐 """ class PQueue: def __init__(self): self.items = [] def emt(self): return len(self.items)==0 def size(self): return len(self.items) def enqueue(self, item): self.items.append(item) def dequeue(self): if not self.emt(): maxI = 0 high = self.items[maxI][2] for i in range(1,self.size()): if self.items[i][2] > high: high = self.items[i][2] maxI = i return self.items.pop(maxI..

[자료구조] 큐 - BFS 미로 탐색

🙆‍♂️ 원형 큐 class """ 원형 큐 클래스 CQueue def emt : 큐에 값이 없다면 True를 반환 있다면 False를 반환 def full : 큐가 포화상태라면 True를 반환 아니라면 False를 반환 def clear : 큐 초기화 def enqueue : 포화상태가 아니면서 알파벳 값(ch)만 추가 def dequeue : 공백상태가 아니라면 최전단값 반환하고 제거 def peek : 큐의 최전단값 반환 def size : 큐의 길이 반환 def display : 현재 큐 상태 출력 """ MAX_SIZE = 100 class CQueue: def __init__(self): self.front=0 self.rear=0 self.items=[None] * MAX_SIZE def e..

[자료구조] 큐 - 선형 큐, 원형 큐, 덱

🙆‍♂️선형 큐 """ 선형큐 """ MAX_LQSIZE = 10 class LQueue: def __init__(self): self.items=[] def display(self): for item in self.items: print(f'{item} =>',end = " ") print() def full(self): return len(self.items)==MAX_LQSIZE def emt(self): return len(self.items)==0 def enqueue(self,item): if self.full(): print("It is Full!") else: self.items.append(item) def dequeue(self): if not self.emt(): return self..

[자료구조][파이썬으로 쉽게 풀어쓴 자료구조] 04 스택 문제풀기

🙆‍♂️연습 문제 4.1 스택에서 사용되는 정보의 입출력 방법은 무엇인가? 1. LIFO 2. FIFO 3.FILO 4.LILO 답 : 1번 후입선출이다. 4.2 스택의 응용분야로 거리가 먼 것은? 1. 미로 찾기 2. 수식 계산 및 수식 표기법 3. 운영체제의 작업 스케줄링 4. 서브루틴의 복귀번지 저장 답 : 3번 운영체제의 작업 스케줄링이다. 4.3 다음 중 스택에 대한 설명을 모두 골라라. 1) 입출력이 한쪽 끝으로만 제한된 리스트이다. 2) head(front)와 tail(rear)의 2개 포인터를 갖고 있다. 3) FIFO(First-In-First-Out)방식으로 동작한다. 4) 배열 구조와 연결된 구조로 구현이 가능하다. 5) 함수 호출 시 복귀 주소를 저장하는데 사용된다. 답 : 1,4,..

[자료구조] 스택 - 미로 탐색

🙆‍♂️ 미로 탐색 (깊이 우선 탐색) 알고리즘 """ 깊이우선탐색 - 미로 탐색 """ #미로 정의 maze = [[1,1,1,1,1,1], ['H',0,0,0,0,1], [1,0,1,0,1,1], [1,1,1,0,0,'X'], [1,1,1,0,1,1], [1,1,1,1,1,1]] #미로 출력 def print_maze(maze): print("=====MAZE=====") for r in maze: for p in r: print(p, end=" ") print() print("==============") #탐색 알고리즘 def DFS(maze): s = Stack() x,y = 0,1 s.push( (x,y) ) #시작점 while maze[y][x] != 'X': if not s.emt(): m..

[웹 크롤링 프로젝트] 03. Node Express 서버 구축 및 DB 연동

🙆‍♂️ Node express npm init npm 프로젝트 폴더를 만들고 그곳에서 npm init 명령어를 사용해서 package.json을 작성해줍니다. 그냥 엔터 계속 누르면 작성됩니다. npm install express --save express를 설치해줍니다. app.js라는 파일을 만들어서 const express = require('express') const app = express() const port = 3000 app.get('/', (req, res) => { res.send('Hello World!') }) app.listen(port, () => { console.log(`Server start in http://localhost:${port}`) }) 위 코드를 작성하고..

[자료구조][파이썬으로 쉽게 풀어쓴 자료구조] 03 리스트 문제풀기

🙆‍♂️리스트 """ 리스트 """ class ArrayList: def __init__(self): self.items=[] def insert(self,pos,elem): self.items.insert(pos,elem) def delete(self,pos): return self.items.pop(pos) def isEmpty(self): return self.size()==0 def getEntry(self,pos): return self.items[pos] def size(self): return len(self.items) def clear(self): self.items=[] def find(self,item): return self.items.index(item) def replace(se..

[자료구조] 스택 - 중위표현식 후위표현식으로 변환

🙆‍♂️ 후위표현식으로 변환하기 """ 스택 클래스 Stack def emt : 스택에 값이 없다면 True를 반환 있다면 False를 반환 def size : 스택의 현재 길이를 반환 def clear : 스택 값을 초기화 def push : 입력 요소 ch를 스택에 입력 def pop : 스택의 최상단 값을 삭제 def peek : 스택의 최상단 값 반환 def disply : 스택의 상태를 출력 """ class Stack: def __init__(self): self.stack=[] def emt(self): return len(self.stack)==0 def size(self): return len(self.stack) def clear(self): self.stack=[] def push(s..

[파이썬] 문자열에서 숫자와 특수문자 나누기 (수학식 문자열을 리스트에)

🙆‍♂️파이썬 string = input("input num : ") string = re.split('([^0-9])',string) string = ' '.join(string).split() print(string) string = re.split('([^0-9])',string) 이 코드로 숫자와 연산자를 구분할 수 있습니다. 그러나 위 코드만 사용하면 결과가 이렇게 괄호 앞 뒤로 공백이 생깁니다. string = ' '.join(string).split() 그래서 위의 코드로 리스트의 공백요소를 제거해주면 깔끔해집니다.

[자료구조] 스택 - 괄호 검사 알고리즘

🙆‍♂️ 괄호 검사 알고리즘 """ 괄호 검사 알고리즘 """ def checkB(string): stack = [] for i in string: if i in ['(','{','[']: stack.append(i) elif i in [')','}',']']: if len(stack) == 0: return "Wrong String!" else: if (( stack[-1] == '(' and i==')' or stack[-1] == '{' and i=='}' or stack[-1] == '[' and i==']' )): stack.pop(-1) else: return "Wrong String!" if len(stack) != 0: return "Wrong String!" else: return "Go..

728x90
반응형