본문 바로가기
반응형
[코딩테스트] 요약 문제 해결 순서- 문제는 쪼개서 읽기- 제약사항 파악하기- 테스트 케이스 고려하기- 입력값 분석하기- 핵심 키워드 분석하기- 데이터 흐름 + 구성 파악하기 Pseudo-Code- 자연어로 작성- 동작 중심으로 문제 해결 순서로 작성 시간복잡도- 알고리즘이 문제를 푸는 연산횟수와 입력의 관계를 표현- Big-O Notation: 최악의 경우를 고려한 시간복잡도 표기법시간복잡도최대 연산 횟수n!102^n20n^3200n^23000n*log(n)100만n1000만log(n)10억  자료형- 부동소수점 오차주의(sys.float_info.epsilon)- 데이터 타입은 mutable(list, dict, set)과 immutable(tuple, int, float, str)로 나뉨 함수- lambda expre.. 2024. 7. 6.
[코딩테스트] 해시 해시 ADTclass Hash: def __init__(self, size:int = 10): self.keys[size] = [i for i in range(size)] self.values[size] = [None for _ in range(size)] self.size = size def hash(self, data): 문제 추천- 완주하지 못한 선수(Lv1)- 할인 행사(Lv2)- 오픈 채팅방(Lv2)- 베스트 앨범(Lv3)- 신고 결과 받기(Lv1)- 메뉴 리뉴얼(Lv2)+)- 의상(Lv2)- 압축(Lv2)완주하지 못한 선수def solution(participant, completion): answer = '' membe.. 2024. 7. 5.
[코딩테스트] 큐 큐- FIFO(First In First Out): 먼저 들어간 데이터가 먼저 나오는 구조- 작업 대기열이나 이벤트 처리에 사용 ADTclass Queue: def __init__(self, size:int =10): self.data = [None for _ in range(size)] self.front = -1 self.rear = -1 self.size = size def isEmpty(self): -> bool if self.front == self.rear return True else: return False def isFull(self).. 2024. 7. 5.
[코딩테스트] 스택 스택- FILO(First In Last Out): 먼저 들어간 데이터가 나중에 나오는 구조- 함수 호출시 메모리의 스택에 사용 ADTclass Stack: def __init__(self, size:int = 10): self.data = [None for _ in range(size)] self.top = -1 self.size = 10 def isEmpty(self): -> bool if self.top == -1: return True else: return False def isFull(self): -> bool if self.top == (se.. 2024. 7. 5.
[코딩테스트] 배열 / 연결리스트 배열- 연속된 메모리를 이용한 자료구조- 같은 자료형의 묶음 ADTclass Array: def __init__(self, size:int = 10): self.data = [None for _ in range(size)] self.size = size def isEmpty(self): def isFull(self): def insert(self, index, data): if self.data[index] = data def add(self, data): if def remove(self, index): self.data[index] = Non.. 2024. 7. 5.
[코딩테스트] 특징 및 소개 코딩테스트  코딩테스트 사이트- 프로그래머스: 네이버, 카카오 등 IT 기업들의 코딩테스트 사이트- 백준 온라인 저지- solved.ac: 백준 온라인 저지를 단계별로 분류- SW Expert Academy: 삼성 코딩테스트 사이트- Softeer: 현대 자동차그룹 코딩테스트 사이트이론시간복잡도 공간복잡도 2024. 7. 5.
[코딩테스트] 8주차: 실전 모의 코딩 테스트 실전 모의 코딩 테스트학습 주제실제 코딩 테스트와 유사한 환경에서 연습시간 관리와 문제 해결 전략 수립학습 목표실전 코딩 테스트 환경에 익숙해지고, 시간 내에 문제를 해결할 수 있는 능력을 기른다.다양한 문제 해결 전략을 익히고, 이를 통해 효율적으로 문제를 해결할 수 있다.학습 자료온라인 저지 플랫폼 (예: LeetCode, HackerRank, Codeforces)에서 제공하는 실전 문제실습 문제각 문제를 실제 코딩 테스트 환경에서 제한 시간 내에 풀어보세요. 문제는 LeetCode, HackerRank, Codeforces 등의 플랫폼에서 선택하여 진행할 수 있습니다. 1. Two Sum (LeetCode)주어진 배열에서 두 숫자의 합이 목표 값이 되는 인덱스 쌍을 찾으세요.문제 링크def two_.. 2024. 6. 4.
[코딩테스트] 7주차: 고급 자료구조 고급 자료구조학습 주제세그먼트 트리펜윅 트리 (Fenwick Tree)우선순위 큐와 힙학습 목표세그먼트 트리와 펜윅 트리의 개념을 이해하고, 다양한 쿼리 문제에 적용할 수 있다.우선순위 큐와 힙을 사용하여 효율적으로 데이터 구조를 관리하고, 관련 문제를 해결할 수 있다.학습 자료세그먼트 트리의 개념 및 구현 방법펜윅 트리의 개념 및 구현 방법우선순위 큐와 힙의 개념 및 활용실습 문제1. 세그먼트 트리를 사용한 범위 쿼리 문제주어진 배열에 대해 세그먼트 트리를 사용하여 범위 합 쿼리를 처리하는 함수를 작성하세요.class SegmentTree: def __init__(self, data): self.n = len(data) self.tree = [0] * (2 * self.n.. 2024. 6. 4.
[코딩테스트] 6주차: 탐욕 알고리즘과 최적화 탐욕 알고리즘과 최적화학습 주제탐욕 알고리즘의 개념과 적용 방법탐욕 알고리즘을 사용한 문제 풀이 (활동 선택 문제, 최소 신장 트리 - Kruskal, Prim)학습 목표탐욕 알고리즘의 원리를 이해하고 다양한 문제에 적용할 수 있다.탐욕 알고리즘을 사용하여 최적의 해를 찾는 문제를 해결할 수 있다.활동 선택 문제, 최소 신장 트리 등의 대표적인 탐욕 알고리즘 문제를 해결할 수 있다.학습 자료탐욕 알고리즘 개요와 원리활동 선택 문제 설명 및 구현최소 신장 트리 알고리즘 (Kruskal, Prim) 설명 및 구현실습 문제1. 활동 선택 문제주어진 활동들의 시작 시간과 종료 시간을 기반으로 최대한 많은 활동을 선택하는 문제를 탐욕 알고리즘을 사용하여 해결하는 함수를 작성하세요.def activity_selec.. 2024. 6. 4.
[코딩테스트] 5주차: 백트래킹과 분할 정복 백트래킹과 분할 정복학습 주제백트래킹의 개념과 활용 (N-Queen 문제, 퍼즐 문제)분할 정복 알고리즘 (Merge Sort, Quick Sort 재방문, Fast Exponentiation)학습 목표백트래킹의 개념과 다양한 문제에서의 활용 방법을 이해하고 구현할 수 있다.분할 정복 알고리즘의 원리를 이해하고 구현할 수 있다.N-Queen 문제, 퍼즐 문제 등의 대표적인 백트래킹 문제를 해결할 수 있다.학습 자료백트래킹 개요와 원리분할 정복 알고리즘 설명 및 구현실습 문제1. N-Queen 문제 해결N x N 체스판에 N개의 퀸을 놓는 문제를 백트래킹을 사용하여 해결하는 함수를 작성하세요.def is_safe(board, row, col): for i in range(col): if .. 2024. 6. 4.
반응형