알고리즘 문제를 풀다가 개념이 명확히 정립되어 있지 않아 공부를 했다. Longest Increasing Subsequence, 말 그대로 수열 중에서 증가하는 부분이 얼마나 긴지를 구하는데 사용하는 알고리즘이다. 주의할 점은 연속적이지 않아도 된다는 점이다. [10,20,10,30,20,50] 에서 LIS는 [10,20,30,50]이다. 공통 변...
순열 > [('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'C'), ('C', 'A'), ('C', 'B')] 조합 > [('A', 'B'), ('A', 'C'), ('B', 'C')] zip lst1과 lst2 각각을 짝지은 zip 객체가 반환됨. list나 dictionary 등 자료구조를 이용하여 표현 가능 E...
유니온 파인드는 집합을 합칠 때 가져다 쓴다.
그 동안 우선순위 큐 문제를 만날 때마다 힙으로 구현했다. 그런데 파이썬에 우선순위큐를 패키지도 있다는 사실을 발견했다 !!! 🤡 사용법 > 1 2 3 4 메서드 > True: 비어있음 False: 남아있음 > int: 큐의 길이 예제 백준 1715 카드 정렬하기 여담 > TypeError: 'PriorityQueue' object is...
제목이 곧 내용
bubble sort, insert sort, merge sort, tim sort
이전 포스팅에서 라우팅 관련 알고리즘을 간략히 다뤘었다. global routing algorithm은 다익스트라를, 분산형 routing algorithm은 벨만포드를 사용한다고 얘기했다. 다익스트라는 평상시에 조금 접해본 알고리즘이지만 벨만포드는 익숙치 않아 이에 대해 자세히 정리하기 위하여 본 포스팅을 작성한다. 다익스트라 > 다익스트라 알고리...
스택 큐 개념정리
DP 개념
bfs 기초