본문 바로가기

전체 글204

[파이썬] DAY13 입학식코테문제 & NUMPY 입학식 코테 문제 풀이 파이썬 개발 환경 메모리 할당 방식 1. 정적 메모리 할당 2. 동적 메모리 할당 객체 지향 프로그래밍의 4가지 속성 상속성 upcasting downcasting 파이썬은 upcasting 없다. https://viera.tistory.com/3 Class의 형변환 (Upcasting, Downcasting) 자바는 객체지향언어(OOP)의 한 종류입니다. OOP는 객체의 관점에서 프로그래밍 하는 것을 의미합니다. 자바뿐만 아니라 C++, 파이썬, Swift 등 요즘 뜨는 언어들에서 OOP개념을 사용 중입니다. OOP의 viera.tistory.com 다형성 overriding vs overloading https://hyeonggi.tistory.com/entry/Python-%.. 2022. 2. 4.
[파이썬] DAY12 자료구조 복습 문제 자료구조 62 문제 빈칸, 이론 입학식 코딩 테스트 문제 리뷰 - openCV - Numpy - 파이프라인?? 통신과 thread ROS로 그래프 보는 기초 다짐.. 2022. 2. 4.
[파이썬] DAY11 검색 검색 탐색 키: 자료를 구별하여 인식할 수 있는 키 삽입 / 삭제 작업에서의 검색: 원소를 삽입하거나 삭제할 위치를 찾기 위해 검색 1. 수행 위치에 따른 분류 내부 검색: 메모리에 있는 자료에 대해 검색 수행 외부 검색: 보조기억장치에 있는 자료에 대해 검색 수행 2. 검색 방식에 따른 분류 1) 비교 검색 검색 대상의 키를 비교하여 검색하는 방법 순차 검색, 이진검색, 트리 검색 2) 계산 검색★ (도서관의 책 위치 찾는 방식) 계수적인 성질을 이용한 계산으로 검색 하는 방법 값을 입력하자마자 계산값을 준다. 해싱 (가장 중요) 네이버 해싱 테이블 손 코딩으로 면접 본다. 자료 구조의 형태(큐, 스택 등등)와 자료의 배열 상태(정렬 되었느냐 안되었느냐)에 따라 최적의 검색 방법 선택 1. 순차 검색 .. 2022. 1. 28.
[파이썬] DAY11 트리 코드 리뷰 계층적 연결구조라는 점에서 이중 연결리스트와는 다르다. class Node: def __init__(self,item,left=None, right=None): self.item = item self.left = left self.right = right class BinaryTree: def __init__(self): self.root =None def preorder(self,n): if n!=None: print(str(n.item),'',end='') if n.left: self.preorder(n.left) if n.right: self.preorder(n.right) def inorder(self,n): if n!=None: if n.left: self.inorder(n.left) print.. 2022. 1. 28.
[파이썬] DAY11 그래프 복습 & 정렬 설날 과제는 정리용 문제 안 낼 거래.. 그래프 코드 주석 달아놓기 넓이 우선 순위 그래프 탐색에서 우선순위 큐(늦게 들어왔더라도 우선순위 가중치를 매겨서 먼저 내보내는 큐 방식)랑 dequeue enqueue랑 헷갈리지 말것. 자료구조 스택과 스택 영역은 같다.(메모리 구조는 스택이다.) 자료구조 힙 과 힙 메모리 영역은 다르다.... 즉 힙 영역은 자료구조 힙을 쓰지 않는다. 동음이의어 같은 관계 참고로 C에서는 힙이라는 언어를 메모리에서 쓰지 않는다. API 문서 안에 라이브러리가 있다. 파이튜터는 3.6 버전을 쓴다. 코딩테스트 리스트를 주로 쓴다. 큐 스택을 직접 구현하지 않는다. 동적 프로그래밍 dp(dynamic programming) 큰 문제를 소분해서 프로그래밍함으로써.. 2022. 1. 28.
[파이썬] DAY10 그래프 1. 그래프 요소 다대다 관계 대다수의 데이터들은 다대다 관계이다. 그래프는 추가적으로 따로 공부하자 중요하다 1. 그래프란 정점(V)들의 집합 간선(E)들의 집합 2. 무방향 그래프: (Vi, Vj) = (Vj, Vi) 파이썬에서는 딕셔너리나 리스트의 특정 형식으로 그래프를 구현한다. 3. 방향 그래프 : ≠ Vi 는 머리, Vj 는 꼬리를 의미한다. 4. 완전 그래프 각 정점에서 다른 모든 정점을 연결하여 가능한 최대의 간선 수를 가진 그래프 최대 간선수 방향 그래프는 무방향 그래프의 2배이다. 5. 부분 그래프 일부 정점이나 간선 제외하여 만든 그래프 6. 가중 그래프, 네트워크 간선마다 가중치(weight)를 할당한 그래프 간선에 정점과 정점이 얼마 만큼 떨어져있는지 표기해준다. 2. 용어 정리 .. 2022. 1. 27.
[파이썬] DAY10 트리 1:다 관계: 원소들 간의 계층이 존재한다. 하위 원소로 내려가면서 확장되는 구조 1. 트리 기본개념 가계도를 생각하면 된다. : 자식 부모 관계, 자손, 손자, 레벨, 단말 노드 루트노드 자손 노드 조상 노드: 간선으로 연결되어 있지 않으면 조상이 아니다. K, C의 관계 단말 노드 형제 노드 부모 노드 자식 노드 노드들은 간선으로 연결되어 있다. 서브 트리: 노드 하나만 있어도 트리라고 한다. 차수 차수: 노드에 연결된 간선의 개수 = 나랑 연결된 선 트리의 차수: 트리에 있는 노드의 차수들 중에서 가장 큰 값 높이 노드의 높이: 루트에서부터 노드까지 이어진 간선의 개수 트리의 높이: 트리에 있는 노드의 높이들 중에서 가장 큰 값 포리스트(forest) : 서브트리들의 집합 2. 이진 트리 이진트리:.. 2022. 1. 27.
[파이썬] DAY10 스택&큐 l = [] l.append("data1") # 우측에서 넣는다. l.pop(0) # 인덱스를 넣어 가장 왼쪽에서 빼낸다. l1 = [1,2,3,4] l2 = [2,3,4,5] print(id(l1)) # 리스트 객체의 주소를 보여준다. print(id(l2)) #l1 = l1 + l2 #print(id(l1)) # 새로운 주소를 만들어버린다. l1 = l1.extend(l2) print(id(l1)) # 새로운 주소를 만들어버린다. 순차리스트이기 때문에 주소가 바뀌지만 동적 할당이기 때문에 연결리스트처럼 동작할 수 있다. 1. 스택 1:1 관계인 선형 관계로 쌓는다. 선입후출 = 후입선출 LIFO 스택을 쓰는 이유 시스템은 스택형식으로 동작한다. 스텍 프레임 삽입연산: push 삭제연산: pop(입출구.. 2022. 1. 27.
[파이썬] DAY10 리스트 복습 복습 리스트 순차 리스트 : 삽입, 삭제 시 이동이 발생한다. (빈도수 증가) 파이썬의 리스트는 순차리스트이다. 하지만 파이썬의 가변의 특징으로 연결 리스트로 쓸 수 있다.(동적 할당) 다른 언어는 정적 할당이므로 순차리스트이다. 인덱스가 있으면 모두 순차리스트이다. 단순 연결 리스트 구현 코드 class SList: class Node: def __init__(self,data, link): self.data = data self.next = link def __init__(self): self.head = None self.size = 0 def is_empty(self): return self.size == 0 def insert_front(self,item): if self.is_empty(): .. 2022. 1. 27.