Python17 [python] LinkedList-bubble sort : 주어진 연결리스트를 버블 정렬을 이용하여 정렬하는 코드 # Linked List. class Node: def __init__ (self, elem, next=None): self.data = elem self.link = next # 코드 6.5: 연결리스트 클래스 class LinkedList: # 리스트의 데이터: 생성자에서 정의 및 초기화 def __init__( self ): self.head = None # 리스트의 연산: 클래스의 메소드 def isEmpty( self ): return self.head == None def isFull( self ): return False def getNode(self, pos) : if pos < 0 : return None node = self.h.. 2024. 3. 27. [python] 백준 2346 - 풍선 터뜨리기 (원형큐 응용) 1. 문제 설명 https://www.acmicpc.net/problem/2346 2346번: 풍선 터뜨리기 1번부터 N번까지 N개의 풍선이 원형으로 놓여 있고. i번 풍선의 오른쪽에는 i+1번 풍선이 있고, 왼쪽에는 i-1번 풍선이 있다. 단, 1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선 www.acmicpc.net 1-1. 모듈러 연산 ≪cf≫ Division Algorithm : ∀a,b ∈Z, b>0 then ∃! q, r s.t a= b*q +r(0≤r0 and ballons): idx= (idx+(move-1))%len(ballons) elif(move0 and ballons): ballons.rotate(-(move-1)) elif(move 2023. 12. 4. [Python] 큐 유형문제(백준) 1. 11866번 ( 큐 응용 ) https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net import sys from collections import deque input = sys.stdin.readline def main(): N, K = map(int, input().split()) que= deque() for i in range(1,N+1): que.append(i) print('',end="") if __name__=="__main__": main() 2. 24511번 ( 큐 & 스택 응용 ) https://www.acmi.. 2023. 11. 30. [python] 이진트리 / 이진 탐색트리(+백준 5639) 1. 이진트리 모든 노드의 차수가 self.data): if(self.right): self.right.insert(item) else: self.right=Node(item) else: raise IndexError def search(self,item,parent=None): if(itemself.data): if(self.right): return self.right.search(item,self) else: print('Not Exist') return None,None else: print('exist') return self,parent def delete(self, item): delNode, parent = self.search(item) if(delNode): if(parent==None.. 2023. 11. 21. [python] 우선순위 큐 1. Heap(힙) : 주로 완전이진트리 기반으로 구현하며 정렬하는 용도의 이진트리이다 -> 마지막 레벨 노드 제외하고는 포화상태인 트리 cf> 힙 구현 : 완전이진트리 기반이기에 연결리스트보다 배열로 구현하는 게 더 적합함 1-1. max heap / min heap Max heap Min heap 부모 노드의 키가 자식 노드들의 키보다 크거나 같은 트리 부모 노드의 키가 자식 노드들의 키보다 작거나 같은 트리 꺼내면 내림차순 정렬 꺼내면 오름차순 정렬 1-2. 우선순위 큐 : 큐와 유사하지만 우선순위가 높은 아이템이 먼저 처리됨 : max heap과 min heap을 이용하여 우선순위 큐 구현 -> 힙의 key를 우선순위로 사용한다면 힙은 우선순위 큐의 구현체가 된다 1-2-1. 주요 동작 inser.. 2023. 11. 20. [python] 스택 응용 : 미로 문제 class Pos(): def __init__(self, row,col): self.row = row self.col= col class Stack(): def __init__(self,size): self.data=[] self.top=-1 self.size=size def push(self, item): self.data.append(item) self.top+=1 def pop(self): self.top-=1 return self.data.pop() def peek(self): return self.data[self.top] def isEmpty(self): return self.top==-1 def isFull(self): return self.top == self.size-1 def Print.. 2023. 11. 20. 이전 1 2 3 다음