일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 환급챌린지
- Korean-NLP
- 크루스칼알고리즘
- 프림알고리즘
- 작심삼개월
- FastCampus
- package-install
- 1주차완료
- 자료구조
- 시간복잡도
- 백준알고리즘2920번
- AIFFEL
- 해쉬테이블
- 파이썬
- BFS알고리즘
- 최단거리알고리즘
- nqueen
- 코딩테스트대비
- 패스트캠퍼스
- 퀵정렬
- 연결리스트
- 코딩테스트
- DFS알고리즘
- 인강
- 트리구조
- Ai
- 시나공정보처리기사
- 코딩테스트인강
- 알고리즘
- 내돈내산
- Today
- Total
목록IT 개발/Algorithm 알고리즘 (25)
DevLog
알고리즘/기술면접 완전 정복 올인원 패키지 Online 탐색 알고리즘 - 04. 순차 탐색 그래프 이해와 자료 구조 - 01. 그래프 이해와 자료 구조 그래프 이해와 자료 구조 - 02. 그래프 종류와 자료 구조 순차 탐색 (Sequential Search) 이란? 탐색은 여러 데이터 중에서 원하는 데이터를 찾아내는 것을 의미 데이터가 담겨있는 리스트를 앞에서부터 하나씩 비교해서 원하는 데이터를 찾는 방법 from random import * rand_data_list = list() for num in range(10): rand_data_list.append(randint(1, 100)) def sequencial(data_list, search_data): for index in range(len(..
알고리즘/기술면접 완전 정복 올인원 패키지 Online 탐색 알고리즘 - 01. 이진 탐색 - 1 탐색 알고리즘 - 02. 이진 탐색 - 2 탐색 알고리즘 - 03. 이진 탐색 - 3 이진 탐색 (Binary Search) 이란? 탐색할 자료를 둘로 나누어 해당 데이터가 있을만한 곳을 탐색하는 방법 분할 정복 알고리즘과 이진 탐색 분할 정복 알고리즘 (Divide and Conquer) Divide: 문제를 하나 또는 둘 이상으로 나눈다. Conquer: 나눠진 문제가 충분히 작고, 해결이 가능하다면 해결하고, 그렇지 않다면 다시 나눈다. 이진 탐색 Divide: 리스트를 두 개의 서브 리스트로 나눈다. Comquer 검색할 숫자 (search) > 중간값 이면, 뒷부분의 서브 리스트에서 검색할 숫자를 ..
알고리즘/기술면접 완전 정복 올인원 패키지 Online 고급 정렬 알고리즘 - 03. 병합 정렬 - 2 고급 정렬 알고리즘 - 04.병합 정렬 - 3 고급 정렬 알고리즘 - 05.병합 정렬 - 4 역대급으로 짧았던 강의 공채 시즌에 지쳐가던 중 잠시 쉬어가는 강의 느낌이었다. 파이팅 병합 정렬의 이해가 어려울 수 있는데, 이 부분은 아래 링크에서 보면 이해가 쉽다. VisuAlgo - Sorting (Bubble, Selection, Insertion, Merge, Quick, Counting, Radix) VisuAlgo is free of charge for Computer Science community on earth. If you like VisuAlgo, the only payment that..
알고리즘/기술면접 완전 정복 올인원 패키지 Online 동적 계획법과 분할 정복 - 01. 동적 계획법과 분할 정복 고급 정렬 알고리즘 - 01. 퀵 정렬 고급 정렬 알고리즘 - 02. 병합 정렬 동적 계획법 (Dynamic Programming)과 분할 정복 (Divide and Conquer) 동적 계획법 (DP라고 많이 부름) 입력 크기가 작은 부분 문제들을 해결한 후, 해당 부분 문제의 해를 활용해서, 보다 큰 크기의 부분 문제를 해결, 최종적으로 전체 문제를 해결하는 알고리즘 상향식 접근법으로, 가장 최하위 해답을 구한 후, 이를 저장하고, 해당 결괏값을 이용해서 상위 문제를 풀어가는 방식 Memoization 기법을 사용함 Memoization (메모이제이션) 이란: 프로그램 실행 시 이전에 ..
알고리즘/기술면접 완전 정복 올인원 패키지 Online 재귀 용법 - 01. 알고리즘 해결에 중요한 이해 재귀 용법 - 02. 알고리즘 해결에 중요한 재귀 호출 예제와 실습 - 1 재귀 용법 - 03. 알고리즘 해결에 중요한 재귀 호출 예제와 실습 - 2 재귀 용법은 개념은 정말 이해하기 쉬우면서도 활용하기에는 어렵게만 느껴지는 부분이다. 재귀 용법을 사용하면 속도도 빨라지고 더 좋은 알고리즘이 짜이는 것을 알고 있음에도 실질적으로 문제 해결에 사용해서 로직이 진행되는 과정이 생각하기 힘들 때가 많았다. 그래서 이번 강의는 더 중요하게 다가왔다. 재귀 용법 (recursive call, 재귀 호출) 고급 정렬 알고리즘엥서 재귀 용법을 사용하므로, 고급 정렬 알고리즘을 익히기 전에 재귀 용법을 먼저 익히기..
알고리즘/기술면접 완전 정복 올인원 패키지 Online 기본 정렬 알고리즘 - 04. 선택 정렬 기본 정렬 알고리즘 - 05. 삽입 정렬 기본 정렬 알고리즘 - 06. 참고, 공간복잡도 - 1 기본 정렬 알고리즘 - 07. 참고, 공간복잡도 - 2 공채 시기가 몰려서 정신없는 한 주를 보내고 주말에 겨우 듣고 있다. 생각해보면 가장 필요한게 코딩 공부와 코딩 테스트 준비인데, 요즘 이것저것 신경쓸 것이 많다 보니 정신도 없고 그렇다. 선택 정렬 (selection sort) 란? 다음과 같은 순서를 반복하며 정렬하는 알고리즘 주어진 데이터 중, 최소값을 찾음 해당 최소값을 데이터 맨 앞에 위치한 값과 교체함 맨 앞의 위치를 뺀 나머지 데이터를 동일한 방법으로 반복함 데이터가 두 개 일 때 예: dataL..
알고리즘/기술면접 완전 정복 올인원 패키지 Online 기본 정렬 알고리즘 - 01. 정렬 알고리즘 개요 기본 정렬 알고리즘 - 02. 버블 정렬 - 1 기본 정렬 알고리즘 - 02. 버블 정렬 - 2 자료구조와 알고리즘의 차이는 무엇일까? 공부하면서 알다가도 모를 부분이었다. 하지만 공부를 하다 보니, 그 궁금증이 해소가 되는 것 같았다. 자료구조는 데이터가 저장되는 형태 즉 데이터 표현 및 저장 방식을 의미한다면, 알고리즘은 그렇게 데이터가 저장되어 있는 형태인 자료구조에서 데이터를 명령 처리 및 제어하기 위한 방법을 구현하는 것이다. 앞서 4주 동안은 데이터 저장 방식인 자료구조에 대하여 학습하였다면, 앞으로 대략 4주 정도는 자료구조에서 원하는 데이터를 검색, 정렬 등의 명령/제어를 하기 위한 알..
알고리즘/기술면접 완전 정복 올인원 패키지 Online 자료구조(힙) - 01. 힙 구조 자료구조(힙) - 02. 힙 구조 파이썬 구현 - 1 자료구조(힙) - 03. 힙 구조 파이썬 구현 - 2 자료구조(힙) - 04. 힙에 데이터 삭제 구현 지금 수강하고 있는 강의는 "자료구조 + 알고리즘 + 유형별 문제 풀이 + 기술 면접 대비" 이렇게 4가지 파트로 구분되어 있고, 그중 자료구조의 마지막 부분이 이번 주에 수강한 힙(Heap) 구조에 관련된 내용이다. 자료구조 부분을 들을 때마다 느끼는 바는, 지금까지 다양한 유튜브 영상/강의, 책, 다른 블로그 글들을 읽으면서 차근차근 이해해왔다고 생각한 부분들, 막 얽혀있고, 정리가 다 되지 못한 부분을 확실하게 정리할 수 있게 설명해주신다는 것이다. 자료구조..