본문 바로가기
반응형
[코딩테스트] 4주차: 트리와 이진 탐색 트리 트리와 이진 탐색 트리학습 주제트리의 기본 개념과 순회 방법 (전위, 중위, 후위 순회)이진 탐색 트리 (BST)의 삽입, 삭제, 탐색균형 잡힌 트리 (AVL 트리, 레드-블랙 트리)학습 목표트리 자료구조의 기본 개념을 이해하고 구현할 수 있다.이진 탐색 트리의 삽입, 삭제, 탐색 연산을 구현할 수 있다.균형 잡힌 트리의 개념을 이해하고 기본적인 구현을 할 수 있다.학습 자료트리의 기본 개념 설명 및 구현이진 탐색 트리 (BST) 설명 및 구현AVL 트리와 레드-블랙 트리의 기본 개념 설명실습 문제트리 순회 (전위, 중위, 후위 순회)주어진 트리를 전위, 중위, 후위 순회하는 함수를 작성하세요.class Node: def __init__(self, key): self.left = Non.. 2024. 6. 4.
[코딩테스트] 3주차: 그래프 알고리즘 그래프 알고리즘학습 주제:그래프의 표현 방법 (인접 행렬, 인접 리스트)그래프 탐색 알고리즘 (DFS, BFS)최단 경로 알고리즘 (Dijkstra, Floyd-Warshall)학습 목표:그래프의 표현 방법을 이해하고 구현할 수 있다.깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS) 알고리즘을 이해하고 적용할 수 있다.다양한 최단 경로 알고리즘을 이해하고 문제에 적용할 수 있다.학습 자료:그래프의 표현 방법 설명 및 구현깊이 우선 탐색(DFS) 알고리즘 설명 및 구현너비 우선 탐색(BFS) 알고리즘 설명 및 구현Dijkstra 알고리즘 설명 및 구현Floyd-Warshall 알고리즘 설명 및 구현실습 문제:1. 그래프 표현 방법인접 행렬과 인접 리스트를 사용하여 그래프를 구현하세요.# 인접 행렬def .. 2024. 6. 4.
[코딩테스트] 2주차: 동적 프로그래밍 (Dynamic Programming) 동적 프로그래밍 (Dynamic Programming)학습 주제:동적 프로그래밍의 기초 (Memoization, Tabulation)대표적인 DP 문제 풀이 (피보나치 수열, 배낭 문제, 최대 부분합 문제)학습 목표:동적 프로그래밍의 개념과 기초적인 구현 방법을 이해하고 적용할 수 있다.대표적인 동적 프로그래밍 문제를 해결하여 문제 해결 능력을 향상시킬 수 있다.학습 자료:동적 프로그래밍 개요와 원리피보나치 수열 (Top-Down, Bottom-Up) 구현 방법배낭 문제와 최대 부분합 문제 설명 및 구현실습 문제:1. 피보나치 수열 구현 (Top-Down, Bottom-Up)주어진 정수 n에 대해 피보나치 수열의 n번째 값을 구하는 함수를 작성하세요.# Top-Down Approach with Memoi.. 2024. 6. 4.
[코딩테스트] 1주차: 고급 정렬 알고리즘과 탐색 고급 정렬 알고리즘과 탐색학습 주제고급 정렬 알고리즘퀵 정렬 (Quick Sort)병합 정렬 (Merge Sort)탐색 알고리즘이진 탐색 (Binary Search)변형된 이진 탐색학습 목표고급 정렬 알고리즘의 원리와 구현 방법을 이해하고, 시간 복잡도와 공간 복잡도를 분석할 수 있다.이진 탐색을 사용하여 효율적으로 데이터를 탐색할 수 있다.다양한 변형된 이진 탐색 문제를 해결할 수 있다.학습 자료퀵 정렬 설명 및 구현병합 정렬 설명 및 구현이진 탐색 설명 및 구현실습 문제1. 퀵 정렬 구현주어진 리스트를 퀵 정렬 알고리즘을 사용하여 정렬하는 함수를 작성하세요.def quick_sort(arr): if len(arr) pivot] return quick_sort(left) + middle +.. 2024. 6. 4.
[코딩테스트] 코딩테스트를 위한 Python 모듈과 패키지 1. collections주요 기능:deque: 양방향 큐를 지원하는 자료구조로, 스택과 큐의 효율적인 연산을 제공합니다.Counter: 해시 가능한 객체의 개수를 셀 때 유용합니다.defaultdict: 기본 값을 설정할 수 있는 딕셔너리로, 키가 존재하지 않을 때 기본 값을 자동으로 제공합니다.namedtuple: 필드 이름을 가진 튜플로, 튜플의 인덱스 접근을 더 이해하기 쉽게 만들어줍니다.2. heapq주요 기능:힙 큐 알고리즘을 제공하여 우선순위 큐를 구현할 때 사용됩니다.최소 힙과 최대 힙을 통해 가장 작은/큰 요소를 효율적으로 추출할 수 있습니다.3. itertools주요 기능:반복자 생성 함수들을 제공하여 효율적인 반복 작업을 지원합니다.product, permutations, combin.. 2024. 6. 3.
[코딩테스트] 코딩테스트 교육과정(8주) 1주차: 고급 정렬 알고리즘과 탐색학습 주제:고급 정렬 알고리즘 (퀵 정렬, 병합 정렬)이진 탐색과 변형된 이진 탐색실습 문제:퀵 정렬과 병합 정렬 구현 및 성능 비교이진 탐색을 활용한 문제 풀이 (예: 특정 값 찾기, 범위 내 값 찾기)2주차: 동적 프로그래밍 (Dynamic Programming)학습 주제:동적 프로그래밍의 기초 (Memoization, Tabulation)대표적인 DP 문제 풀이 (피보나치 수열, 배낭 문제)실습 문제:피보나치 수열 (Top-Down, Bottom-Up)배낭 문제 (0/1 Knapsack)최대 부분합 문제 (Kadane’s Algorithm)3주차: 그래프 알고리즘학습 주제:그래프의 표현 방법 (인접 행렬, 인접 리스트)그래프 탐색 알고리즘 (DFS, BFS)최단 경.. 2024. 6. 3.
[네트워크 프로그래밍] Week 1: 네트워크 기본 개념과 TCP/IP 모델 네트워크 기본 개념과 TCP/IP 모델 Day 1: 네트워크 기본 개념 강의 내용:네트워크 정의 및 구조네트워크의 정의네트워크 구성 요소 (호스트, 라우터, 스위치, 허브)네트워크 종류 (LAN, WAN, MAN, PAN)네트워크 토폴로지버스형, 스타형, 링형, 메시형 토폴로지각 토폴로지의 장단점실제 네트워크 구성 사례데이터 전송 방식유니캐스트, 멀티캐스트, 브로드캐스트각 방식의 사용 사례와 장단점실습:네트워크 구성 요소와 토폴로지 이해### 실습: 네트워크 구성 요소와 토폴로지1. 버스형, 스타형, 링형, 메시형 토폴로지의 구조를 그림으로 표현2. 각 토폴로지의 장단점을 표로 정리3. 실제 네트워크 구성 사례 조사 및 발표 Day 2: TCP/IP 모델 개요강의 내용:TCP/IP 모델의 개요TCP/IP.. 2024. 6. 3.
[네트워크 프로그래밍] 고급 네트워크 프로그래밍 교육과정 (20주) Week 1-2: 네트워크 프로그래밍 기초 복습 및 심화네트워크 기본 개념과 TCP/IP 모델소켓 프로그래밍 기초 및 고급 소켓 옵션간단한 TCP/UDP 서버와 클라이언트 구현Week 3-4: 네트워크 프로토콜 심화TCP 연결 설정, 흐름 제어 및 혼잡 제어UDP 프로토콜, 데이터그램 통신, 멀티캐스트TCP와 UDP의 심화 학습과 구현Week 5-6: 비동기 I/O 및 멀티스레드 프로그래밍비동기 I/O 개념 및 asyncio 모듈 사용법멀티스레드 소켓 프로그래밍비동기와 멀티스레드를 활용한 네트워크 프로그래밍 예제Week 7-8: 보안 네트워크 프로그래밍SSL/TLS 개념과 구현SSH, HTTPS, VPN의 이해 및 사용법보안 소켓 프로그래밍과 paramiko를 사용한 SSH 클라이언트 구현Week 9-1.. 2024. 6. 3.
[고급 프로그래밍] Week 12: 파이썬에서의 gRPC 활용, 간단한 gRPC 서버와 클라이언트 구현 Day 1: gRPC 설치 및 환경 설정강의 내용:gRPC 설치gRPC와 Protocol Buffers 설치gRPC 환경 설정Python에서 gRPC 설정gRPC 예제 프로젝트 설정실습:gRPC 및 Protocol Buffers 설치 및 환경 설정# gRPC 및 Protocol Buffers 설치pip install grpcio grpcio-tools Day 2: gRPC 서버 구현강의 내용:gRPC 서버 구현 방법gRPC 서버 설정서비스 구현서버 코드 작성.proto 파일 기반 서비스 구현서버 실행 및 테스트실습:gRPC 서버 구현 예제import grpcfrom concurrent import futuresimport example_pb2import example_pb2_grpcclass Exampl.. 2024. 6. 3.
[고급 프로그래밍] Week 11: RPC 개념과 동작 원리 Day 1: RPC 개요강의 내용:RPC의 개념원격 프로시저 호출 (Remote Procedure Call)란 무엇인가?RPC의 역사와 배경RPC의 동작 원리클라이언트와 서버의 상호작용스텁 (Stub)과 스켈레톤 (Skeleton)RPC의 장점과 단점RPC의 장점: 간편한 호출, 언어 독립성RPC의 단점: 네트워크 지연, 장애 복구 문제실습:RPC의 기본 개념 설명 및 예제 코드 소개### RPC 개요1. RPC란 무엇인가? - 원격 서버의 함수나 절차를 로컬에서 호출하는 것처럼 사용하는 기술 - 분산 시스템에서의 통신을 단순화2. RPC의 동작 원리 - 클라이언트가 원격 프로시저를 호출 - 클라이언트 스텁이 호출을 받아 직렬화 - 네트워크를 통해 서버로 전송 - 서버 스켈레톤이 호.. 2024. 6. 2.
반응형