완전탐색을 할 때 주로 쓰이는 파트이므로 꼭 알아야하므로 한번 더 리뷰하려고 한다. 물론 재귀를 사용하는 중요한 방법이고 중복순열과 일반 순열이 있으니 두개 다 알아보도록 하자. 순열(Permutation)이란? 서로 다른 N개에서, R개를 중복없이 순서를 고려하여 나열한 것 [경우의 수 = N * (N - 1) * (N - 2) ... (N - R + 1)] 예를들어 0, 1, 2 로 구성된 3장의 카드들이 여러장 존재하는데, 이 중 2장을 뽑아 순열을 나열해 보자. 그렇다면 해당하는 순열은 [0 1] [0 2] [1 0] [1 2] [2 0] [2 1] 으로 총 6개임을 알 수 있다. 중복순열은 서로다른 N개에서 R개를 중복 허용, 순서를 고려하여 나열하는 것 [경우의 수 = N**R] 위와 같은 예..
이제부터 머리아플 구간이다. stack에서 심화된 알고리즘 기법인데, 시간 복잡도와 메모리를 크게 아낄 수 있는 방법이기 때문에 알고 있으면 많은 도움이 되는 기법이다. 음식을 할 줄 아는데, 맛있게 빠르게 만든다고 할까? 가보자 백트래킹 (Backtracking) : 해를 찾는 도중에 '막히면' = '해가 아니라면' 탐색을 멈추고 되돌아가서 다시 해를 탐색하는 기법이다. 최적화(optimization) 문제와 결정 (decision) 문제를 해결하는데 도움이된다. 결정문제 : 문제의 조건을 만족하는 해가 존재하는지 여부를 확인하는 문제 (True / False) 미로찾기 n-Queen Map coloring 부분 집합의 합 문제 등 어떤 노드의 유망성을 점검한 후에 유망(promising)하지 않다고 ..
가장 처음 파이썬을 공부할 때 다른 친구들이 알고리즘 문제 풀고 있는것을 들었을때 무슨 전문용어마냥 'DFS로 푸는거야?' 이럴때부터 쫄아있던 단원이다. 굉장히 어려워보이는 단어처럼 보이지 않는가? 정답이다. 서론을 간단하게 풀자면 비선형구조인 그래프 구조는 그래프로 표현된 모든 자료를 빠짐없이 검색하는 것이 중요하다. 깊이 우선 탐색(DFS) 와 너비 우선 탐색 (Breadth First Search, BFS) 총 두가지 방법이 있으며 오늘은 DFS에 대해 알아볼 것이다. 깊이 우선 탐색(Depth First Search, DFS) : 시작 정점의 한 방향으로 갈 수 있는 경로가 있는 곳(가장 깊은 곳)까지 깊이 탐색해 가다가 더이상 갈 곳이 없게 되면, 가장 마지막에 만났던 갈림길 간선이 있는 정점으..
- Total
- Today
- Yesterday
- 중복순열
- Method
- CRUD
- SQLite
- CodeTree
- dfs
- Sequence types
- baby-gin
- Database
- JavaScript
- 연산자
- 재귀
- Python3
- Authentication System
- basic syntax
- 순열
- 카운팅정렬
- vue3
- Python
- HTML
- views.py
- Django
- ChatGPT
- SQL
- vue
- restapi
- app
- 백준
- 함수
- Serializer
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |