반응형 파이썬20 [코딩 테스트] 14일차: 분할 정복 분할 정복 (Divide and Conquer)분할 정복은 문제를 더 작은 하위 문제로 나누어 해결하고, 그 결과를 합쳐서 원래 문제를 해결하는 알고리즘 기법입니다. 분할 정복의 핵심은 문제를 나누고(Divide), 정복하며(Conquer), 합치는(Combine) 단계로 이루어집니다.분할 정복의 주요 개념분할(Divide): 문제를 더 작은 하위 문제로 나눕니다.정복(Conquer): 하위 문제를 재귀적으로 해결합니다.합치기(Combine): 하위 문제의 결과를 합쳐 원래 문제의 해를 구합니다.합병 정렬 (Merge Sort)합병 정렬은 분할 정복 알고리즘의 대표적인 예제로, 배열을 반으로 나누어 각각을 정렬한 후 병합하여 정렬된 배열을 만듭니다. 시간 복잡도는 O(n log n)입니다. 예제: 합병 .. 2024. 9. 14. [코딩 테스트] 13일차: 동적 프로그래밍 동적 프로그래밍 (Dynamic Programming)동적 프로그래밍은 복잡한 문제를 더 작은 부분 문제로 나누어 해결하는 방법입니다. 부분 문제의 해결 결과를 저장하여 동일한 부분 문제를 다시 계산하지 않도록 합니다. 동적 프로그래밍은 주로 최적화 문제에 사용되며, 메모이제이션(Memoization)과 타뷸레이션(Tabulatioon) 두 가지 방법으로 구현할 수 있습니다.동적 프로그래밍의 주요 개념부분 문제(Subproblem): 원래 문제를 구성하는 더 작은 문제최적 부분 구조(Optimal Substructure): 부분 문제의 최적 해를 이용하여 원래 문제의 최적 해를 구할 수 있는 구조중복되는 부분 문제(Overlapping Subproblems): 동일한 부분 문제가 여러 번 반복되는 문제 .. 2024. 9. 13. [코딩 테스트] 11일차: 재귀와 백트래킹 재귀 (Recursion)재귀는 함수가 자기 자신을 호출하는 프로그래밍 기법입니다. 재귀 함수는 하나 이상의 종료 조건(Base Case)과 자기 자신을 호출하는 재귀 단계(Recursive Case)를 포함합니다.재귀 함수의 주요 개념기저 조건(Base Case): 재귀 호출을 멈추는 조건재귀 단계(Recursive Case): 함수를 반복적으로 호출하는 단계예제: 재귀를 이용한 팩토리얼 계산JavaScriptfunction factorial(n) { if (n === 0) { return 1; // 기저 조건 } return n * factorial(n - 1); // 재귀 단계}console.log(factorial(5)); // 120Pythondef factorial(n): if.. 2024. 9. 11. [코딩 테스트] 6일차: 연결 리스트 연결 리스트연결 리스트는 각 노드가 데이터와 다음 노드를 가리키는 포인터를 가지고 있는 자료구조입니다. 배열과 달리 연결 리스트는 메모리상에서 연속적으로 저장되지 않습니다.단일 연결 리스트단일 연결 리스트는 각 노드가 다음 노드에 대한 포인터만을 가지고 있는 리스트입니다.JavaScript에서의 단일 연결 리스트 구현class Node { constructor(data) { this.data = data; this.next = null; }}class LinkedList { constructor() { this.head = null; } // 노드 추가 append(data) { let newNode = new Node(data); if (this.head === n.. 2024. 9. 6. [코딩 테스트] 5일차: 스택과 큐 스택스택은 LIFO(Last In, First Out) 자료구조로, 가장 나중에 삽입된 데이터가 가장 먼저 삭제됩니다. 스택은 보통 함수 호출, 수식 계산, 문자열 역순 처리 등에서 사용됩니다.스택의 기본 연산push: 스택의 맨 위에 요소를 추가pop: 스택의 맨 위 요소를 제거하고 반환peek: 스택의 맨 위 요소를 반환 (제거하지 않음)isEmpty: 스택이 비어 있는지 확인JavaScript에서의 스택 구현class Stack { constructor() { this.items = []; } push(element) { this.items.push(element); } pop() { if (this.isEmpty()) { return "Underflow"; .. 2024. 9. 5. [진행 계획표] Year01. 프로그래밍 입문 Python (선택 이유) - 환경 설정의 간편함 - 프로젝트 진행의 편리함 (환경 설정) - VSCode: 편리한 문서 편집기 - CLI 사용 - Git 사용 - Conda 사용 1) 생활 코딩 - Python 입문 수업 - Python 제어문 2) 파이썬 기본 문법 - 코딩 도장 교재 - 파이썬 300제 - Python Coding Convention - Python Documentation - Python3.8 Documentation 3) 자료구조 + 알고리즘 - 잔재미 코딩 자료 모음 - 파이썬으로 배우는 자료 구조 핵심 원리 - 누구나 자료 구조와 알고리즘 - 프로그래머스(Level0 ~ Level2) 4) 프로젝트 - 나도코딩의 파이썬 초보 강의 - 홍정모 연구소의 파이썬 추월 코스 2023. 9. 9. [컴공 학습 순서] 3. Python Python + Visual Studio Code - Visual Studio Code - 코딩 도장(Python) - Python Docs - pip - 홍정모 연구소(파이썬 추월코스) (Web) - Bootstrap - Django - Django Rest Framework - Flask / Flask(ko) - Fast API (Data Analysis) - Numpy - Statsmodel - Pandas - Matplotlib - Seaborn - Scikit-Learn - Kaggle - Selenium - Requests - Beautiful Soup (AI) - Tensorflow - Pytorch / Pytorch(ko) - 생활 코딩(python 입문) - 나도 코딩(파이썬 프로젝트) .. 2023. 8. 19. [로드맵] 7. 인공지능 1. 밑바닥부터 시작하는 딥러닝 1, 2, 3 2. 파이썬 날코딩으로 알고 짜는 딥러닝 3. 논문 구현 - 링크: https://www.youtube.com/playlist?list=PLRx0vPvlEmdADpce8aoBhNnDaaHQN1Typ - 링크: https://www.youtube.com/playlist?list=PLRx0vPvlEmdBQw6kRaod33aUkJ1YHLz3Y - 링크: http://aischool.ai/%EB%94%A5%EB%9F%AC%EB%8B%9D-%EB%85%BC%EB%AC%B8-%EA%B5%AC%ED%98%84-%EC%B0%B8%EA%B3%A0-%EC%82%AC%EC%9D%B4%ED%8A%B8-papers-with-code/ 4. 강화 학습 - 링크: https://www.. 2023. 7. 31. [로드맵] 1. Python 1. 생활 코딩 - 링크(입문): https://www.youtube.com/watch?v=-3DHpwy498o&list=PLuHgQVnccGMDtnr4nTSFfmocHL5FeH1xR - 링크(제어문): https://www.youtube.com/watch?v=ySlod5oxoV8&list=PLuHgQVnccGMA4ZgmqgKZhY9X39Ew8O9k5 - 링크(함수): https://www.youtube.com/watch?v=zsfktX59MJc 2. 코딩 도장 - 링크: https://dojang.io/course/view.php?id=7 3. 나도 코딩(프로젝트) - 링크: https://www.youtube.com/watch?v=kWiCuklohdY&list=PLMsa_0kAjjrd8hYYCwbAu.. 2023. 7. 28. [Python 로드맵] 파이썬 기본 문법 HTML 삽입 미리보기할 수 없는 소스 1. 생활 코딩 (python 입문) - https://www.youtube.com/watch?v=-3DHpwy498o&list=PLuHgQVnccGMDtnr4nTSFfmocHL5FeH1xR (python 제어문) - https://www.youtube.com/watch?v=ySlod5oxoV8&list=PLuHgQVnccGMA4ZgmqgKZhY9X39Ew8O9k5 (python 함수) - https://www.youtube.com/watch?v=zsfktX59MJc 2. 점프투 파이썬 + 초보자를 위한 300제 + 점프투 파이썬 강의(조코딩) - https://wikidocs.net/book/1 - https://wikidocs.net/book/922 - http.. 2023. 4. 15. 이전 1 2 다음 반응형