전체 글

바보같은 감자가 이것저것 정리하는 블로그
· 디버깅
dlib 설치 도중 wheel 에러가 발생했다.error while install dlib on cmd, could not build wheels for dlib  우선 visual studio c++ cmaker를 다운로드받은 후에, pip install cmake로 cmake를 설치해준다. 마지막으로 https://github.com/z-mahmud22/Dlib_Windows_Python3.x/tree/main GitHub - z-mahmud22/Dlib_Windows_Python3.x: Dlib compiled binary (.whl) for Python 3.7-3.12 and Windows x64Dlib compiled binary (.whl) for Python 3.7-3.12 and Windo..
· AI
위의 예시와 같이 pyannote에서는 database라는 객체를 사용한다. 사실 뜯어보면 복잡한 객체는 아닌데, 처음 마주하면 낯설게 느껴져서 공식 readme 파일을 한국어로 해석하며 살펴봤다. 🔗출처 링크 : https://github.com/pyannote/pyannote-database GitHub - pyannote/pyannote-database: Reproducible experimental protocols for multimedia (audio, video, text) databaseReproducible experimental protocols for multimedia (audio, video, text) database - pyannote/pyannote-databasegithu..
🔗문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❓접근 방법 투 포인터 (Two Pointer) 리스트에서 2개의 포인터를 가지고 왔다갔다 하는 방법. 보통 정렬이 된 상황에서 쓰임. 파이썬에서 정렬의 시간 복잡도는 보통 O(nlogn)이므로, 이중 for문을 사용하는 O(n^2)보다 효율성이 좋다. example : two sum list : 1 3 4 5 7 9 16 target : 14 정렬한 후 양 끝에서 포인터를 시작해 ..
* 이 게시글은 이지스 퍼블리싱의 를 기반으로 작성되었습니다. 시간 복잡도 : 주어진 문제를 해결하기 위한 연산 횟수. 시간 복잡도 정의하기 시간 복잡도를 정의하는 3가지 유형은 다음과 같다. 빅-오메가 : 최선일 때 (best case)의 연산 횟수를 나타낸 표기법 빅-세타 : 보통일 때 (average case)의 연산 횟수를 나타낸 표기법 빅-오 : 최악일 때 (worst case)의 연산 횟수를 나타낸 표기법 1~100 사이의 무작위값을 찾아 출력하는 코드를 수행할 때, 빅 오메가의 시간 복잡도 : 1 빅 세타의 시간 복잡도 : 2/N 빅-오의 시간 복잡도 : N 실제 코딩 테스트에서는 다양한 테스트 케이스를 수행하여 모든 케이스를 통과해야만 합격하기에 항상 최악일 때를 염두해야 한다. 즉, 빅-..
해싱 (hashing) 데이터의 키 값을 간단한 함수를 사용해 변환한 값을 리스트의 인덱스로 사용하여 데이터를 리스트에 저장하는 절차로 공간 낭비를 줄이면서 키 값을 이용한 데이터 검색의 시간 복잡도를 가능하다면 O(1)로 유지하기 위해 사용. 해시 함수 (hash function) : 해싱에 사용되는 함수 해시 값 (hash value) : 해시 함수가 계산한 값 (=해시 주소) 해시 테이블 (hash table) : 데이터가 해시 값에 따라 저장된 구조 해시 함수를 통해 큰 키 공간을 작은 주소 공간으로 변환. python에서는 hash() 함수를 통해 해싱을 진행할 수 있다. 해시 테이블 (hash table) 해시 테이블 ht는 m개의 버킷(bucket) ht[0], ht[1], ht[2], ....
문제 링크 import heapq def solution(scoville, K): answer = 0 heapq.heapify(scoville) while scoville[0]
힙 (Heap) 힙은 완전 이진 트리로서 부모 노드 키값의 우선순위가 자식 노드 키 값의 우선순위보다 높은 자료 구조. 힙은 완전 이진 트리의 형태와 노드의 키 값에 대한 힙의 조건을 반드시 유지해야 한다. 완전 이진 트리 : 마지막 레벨을 제외한 각 레벨이 노드들로 꽉 차있고, 마지막 레벨에는 노드들이 왼쪽부터 빠짐없이 채워진 트리. 힘의 종류 MAX 힙 : 키 값이 큰 항목이 우선순위가 높은 것으로 간주하므로 루트 노드의 키가 가장 큼 MIN 힙 : 키 값이 작은 항목이 우선순위가 높은 것으로 간주하므로 루트 노드의 키가 가장 작음 힙과 우선순위 큐 힙 자료구조는 파이썬에서 우선순위 큐를 구현하기 위해 사용된다. 우선순위 큐 : 우선순위가 가장 높은 데이터를 가장 먼저 삭제하는 자료구조 활용 예시 물..
큐(Queue) 한 쪽 끝 위치(Rear)에서 새로운 항목을 삽입(Enqueue)하고, 다른 한 쪽 끝 위치(Front)에서 기존 항목을 삭제 및 반환(Dequeue)하는 논리적 선형 구조 시간 순으로 먼저 삽입된 항목이 먼저 삭제되는 선입선출(FIFO : First-In, First-Out) 구조 Rear(뒤)에서만 삽입이 이루어지고 Front(앞)에서만 삭제가 이루어지는 특수한 리스트. python에서의 큐 python 리스트에서의 구현 enqueue : O(1) (append()) dequeue : O(N) (삭제 후 자리이동) 단순 연결 리스트로 구현 enqueue : O(N) dequeue : O(1) (pop()) 환형 연결 리스트 : enqueue dequeue 모두 O(1) 큐에 적용 가능..
우당탕탕코린이
코린이의 복습노트