본문 바로가기
반응형
[알고리즘] 4. 그리디 && 구현 Index 1. 그리디 2. 구현 3. 추천 문제 4. 참고자료1.  그리디Greedy Algorithm- 현재 상황에서 지금 당장 좋은 것만 고르는 방법- 정당성 분석, 반복적 선택시 최적의해 보존되는지 검토 (Exam)- 거스름 돈: 가장 큰 동전의 단위가 항상 작은 단위의 배수이므로 작은 단위의 동전들을 종합해 다른 해가 나올 수 없음 2.  구현Implementation- 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정(problem->thinking->solution)- 2차원 공간을 다룰 경우 Matirx(행렬)을 사용- 시뮬레이션 및 완전 탐색의 경우 2차원 공간에서의 방향 벡터가 활용dx = [0, -1, 0, 1]dy = [1, 0, -1, 0]for i in range(4): nx =.. 2024. 7. 19.
[알고리즘] 3. 정렬 Index 1. 정렬 2. 버블 정렬 3. 삽입 정렬 4. 선택 정렬 5. 퀵 정렬 6. 병합 정렬 7. 계수 정렬 8. 추천 문제 9. 참고자료1.  정렬정렬(Sort)- 데이터를 특정한 기준에 따라 순서대로 나열하는 것 2.  버블 정렬버블 정렬(Bubble Sort) def bubble_sort(arr: list): for i in range(len(arr)): for j in range(len(arr)-1): if (arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j] return arr3.  삽입 정렬삽입 정렬(Insertion Sort)- 처리되지 않은 데이터를 하나씩 골라 적절한 위치에 삽입- .. 2024. 7. 19.
[알고리즘] 2. 코딩테스트를 위한 파이썬 라이브러리 Index 1. 내장 함수 2. itertools 3. heapq 4. bisect 5. collections/math  6. 참고자료1. 내장 함수 내장 함수- 기본 입출력 함수부터 정렬 함수까지 기본적인 함수들을 제공- sum(list), min(list), max(list), eval(문자열 수식), sorted(list, reverse=True, key=lambda x: x[1]) 2. itertoolsitertools- 반복되는 형태의 데이터를 처리하기 위한 기능 제공- 순열과 조합 기능 제공- 순열: 서로 다른 n개에서 서로 다른 r개를 선택하여 일렬로 나열하는 것- 조합: 서로 다른 n개에서 순서에 상관 없이 서로 다른 r개를 선택하는 것# 순열import itertools import pe.. 2024. 7. 19.
[알고리즘] 1. 코딩테스트를 위한 파이썬 문법 및 환경설정 Index 1. 코딩 테스트 2. 환경설정 3. 기본 문법 4. 자료형 && 자료구조 5. 주의할 점  6. 참고자료 1.  코딩 테스트코딩 테스트- 기업/기관에서 직원이나 연수생을 선발하기 위한 목적으로 시행 되는 시험- 문제 해결 역량을 평가 복잡도(Complexity)- 시간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 수행 시간 분석- 공간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 메모리 사용량 분석- 연산 횟수가 5억이상인 경우 Clang은 1~3초, Python은 5~15초 문제 해결 과정1. 지문 읽기 및 요구사항 분석2. 문제 해결 아이디어 찾기 3. 소스코드 설계 및 코딩  2.  환경설정VSCode- https://code.visualstudio.com/download Pyt.. 2024. 7. 19.
[참고자료] 자료구조/알고리즘/코딩테스트 자료구조- [교재] 파이썬으로 배우는 자료구조 핵심원리- 잔재미코딩: https://www.fun-coding.org/post/funcodingcodes.html#알고리즘- [교재] 파이썬 알고리즘 인터뷰- 잔재미코딩: https://www.fun-coding.org/post/funcodingcodes.html#코딩테스트- [교재] 이것이 취업을 위한 코딩테스트다- [교재] 코딩테스트 합격자되기(파이썬편)코딩테스트 사이트- 프로그래머스: 코딩테스트 연습을 할 수 있고 교육, 채용 등 개발자에게 필요한 것이 갖추어진 사이트- SW Expert Academy: 삼성에서 운영하고, 알고리즘을 학습 할 수 있는 사이트- 백준 온라인 저지(solved.ac): 프로그래밍 문제를 해결한 다음, 소스를 제출하고 온라.. 2024. 7. 19.
[코딩테스트] 목차 코딩테스트 with C++1. 코딩테스트 개요1.1 코딩테스트란?1.2 시간복잡도/공간복잡도1.3 코딩테스트 사이트2. C++ 기본 문법2.1 변수 및 자료형2.2 연산자2.3 제어문: 조건문2.4 제어문: 반복문2.5 함수2.6 배열2.7 문자열2.8 포인터, 참조자2.9 구조체, 열거형, 공용체2.10 STL 3. 기본 자료구조3.1 배열3.2 연결리스트3.3 스택3.4 큐3.5 덱3.6 해시3.7 트리3.8 우선순위 큐3.9 그래프4. 알고리즘4.1 정렬: 버블정렬, 삽입 정렬, 선택 정렬4.2 정렬: 퀵정렬, 병합 정렬, 계수 정렬4.3 재귀4.4 수학: 최대공약수/최소공배수, 소수 찾기, 순열과 조합4.5 다이내믹 프로그래밍4.6 그리디4.7 시뮬레이션(구현)4.8 탐색: 선형 탐색/이진 탐색4.. 2024. 7. 18.
[참고자료] 자료구조/알고리즘/코딩테스트 자료구조- [교재] 읽고 나면 진짜 쉬워지는 자료구조- [교재] 이것이 자료구조 + 알고리즘이다 with C언어알고리즘- [교재] Introduction To Algorithms- [교재] 코딩 인터뷰 완전 분석- [교재] 266가지 문제로 정복하는 코딩 인터뷰 in C++코딩테스트- [블로그] 바킹독 C++ 코딩테스트- [교재] 코딩테스트 합격자되기(C++편)- [교재] 코딩테스트를 위한 자료구조와 알고리즘 with C++- [교재] 알고리즘 문제 해결 전략코딩테스트 사이트- 프로그래머스: 코딩테스트 연습을 할 수 있고 교육, 채용 등 개발자에게 필요한 것이 갖추어진 사이트- SW Expert Academy: 삼성에서 운영하고, 알고리즘을 학습 할 수 있는 사이트- 백준 온라인 저지(solved.ac).. 2024. 7. 13.
[로드맵] C/C++/C# 로드맵 1. C 언어- ANSIC → C99 → C11/C17 → C231.1 C언어(기본: ANSIC)- 환경설정- 소개 및 특징- 변수, 자료형 및 형변환: bool/char/short/int/long long/float/double/typedof/const- 연산자: - 산술: +/-/*///% - 비교: ==/!=/>/>=/1.2 C언어(상세) 1.3 C언어(추가: ANSIC 이후) 2. C++- C++98 → C++11/14/17 → C++20 → C++232.1 C++(기본: C++17)- 클래스: 정의/호출/클래스변수/인스턴스변수/클래스메서드/인스턴스메서드/생성자/소멸자/getter/setter- 클래스: 접근제어자(private,public,protected)/상속/다이아몬드상속/오버.. 2024. 7. 13.
[C++로 배우는 알고리즘과 자료구조] Day 1: 알고리즘과 자료구조 소개 알고리즘과 자료구조란?알고리즘 (Algorithm)알고리즘은 주어진 문제를 해결하기 위해 설계된 일련의 절차나 방법입니다. 알고리즘은 컴퓨터 과학에서 매우 중요한 개념으로, 효율적인 문제 해결과 성능 최적화를 위해 필수적입니다.알고리즘의 특징:명확성 (Clarity): 각 단계는 명확하고 이해하기 쉬워야 합니다.유한성 (Finiteness): 알고리즘은 반드시 종료되어야 합니다.입력 (Input): 0개 이상의 입력이 있어야 합니다.출력 (Output): 1개 이상의 출력이 있어야 합니다.효율성 (Efficiency): 시간과 공간 측면에서 효율적이어야 합니다.자료구조 (Data Structure)자료구조는 데이터를 저장하고 조직화하는 방법입니다. 자료구조는 데이터에 대한 접근 및 수정 작업을 효율적으로.. 2024. 7. 1.
[C++ 심화 알고리즘과 자료구조 시리즈] 목차 C++ 심화 알고리즘과 자료구조 시리즈Day 1: 트라이(Trie) 자료구조와 문자열 검색Day 2: 세그먼트 트리(Segment Tree)Day 3: 펜윅 트리(Fenwick Tree, Binary Indexed Tree)Day 4: 이면 탐색 트리(Treap)Day 5: 균형 이진 탐색 트리(AVL 트리, Red-Black 트리)Day 6: 스플레이 트리(Splay Tree)Day 7: 스킵 리스트(Skip List)Day 8: 최소 커버링 트리(Minimum Spanning Tree) 심화Day 9: 최단 경로 알고리즘 심화 (벨만-포드, 존슨 알고리즘)Day 10: 위상 정렬(Topological Sorting)Day 11: 강한 연결 요소(Kosaraju, Tarjan 알고리즘)Day 12: 네.. 2024. 6. 20.
반응형