[묘공단] 코딩테스트 스터디 5주차
[묘공단] 코딩테스트 스터디 5주차
2023.12.22이 글은 골든래빗 코딩 테스트 합격자 되기 파이썬 편의 9장 써머리입니다. 트리 트리 개념 트리는 앞에서 다룬 선형 자료구조와는 다르게 계층 구조를 표현하는 용도로 많이 사용하는 자료 구조 인공지능의 의사결정트리 Trie를 활용한 자동 완성이나 검색 기능 데이터베이스에서 데이터 삽입, 삭제, 검색을 빠르게 하기 위한 용도 (B-tree 계열) 여러 가지 새로운 용어들이 많이 등장하는 데 아래와 같다 루트 노드 노드/간선 형제 노드: 동일한 부모 노드를 갖는 노드 부모/자식 노드 리프 노드: 자식이 없는 노드 높이: 루트 노드를 레벨 0으로 보고 자식 노드로 내려가면서 1씩 증가 차수: 아래로 향하는 간선의 개수 이진 트리 표현하기 이진 트리를 표현하는 방식은 크게 두 가지가 있다 배열로 표현 포인터로 표..
[묘공단] 코딩테스트 스터디 4주차
[묘공단] 코딩테스트 스터디 4주차
2023.12.15이 글은 골든래빗 코딩 테스트 합격자 되기 파이썬 편의 8장 써머리입니다. 해시의 개념과 정의 키를 통해서 빠르게 데이터 탐색을 지원하는 자료 구조를 해시라고 한다 이 때 키를 만들 때 사용하는 함수를 해시 함수라고 하며 다음과 같은 특징이 있다 해시는 단방향으로 동작 상수 시간에 바로 찾을 수 있음 값을 인덱스로 활용하려면 적절한 변환 과정 필요 위와 같은 특징 중 단방향 동작을 활용한 비밀번호 관리, 상수 시간에 바로 찾을 수 있는 특징을 활용한 데이터베이스 인덱싱 그리고 블록체인에서 활용된다 해시 함수 파이썬에서는 딕셔너리 또는 셋 자료형을 통해 상수 시간에 키 검색이 가능하므로 직접 구현할 일은 많지 않다 그러나 직접 구현한다면 여러 가지 조건들을 고려해야하는 데 해시 함수의 변환 값을 키 (인덱..
[묘공단] 코딩테스트 스터디 3주차
[묘공단] 코딩테스트 스터디 3주차
2023.12.08이 글은 골든래빗 코딩 테스트 합격자 되기 파이썬 편의 6, 7장 써머리입니다. 스택의 개념과 정의 먼저 들어간 것이 마지막에 나오는 LIFO (Last In, First Out 또는 후입선출) 특징을 가지는 자료형 주요 연산은 push와 pop이 있고, 그 외에 isFull, isEmpty, 그리고 최근에 삽입한 데이터의 위치인 top도 있음 문제 풀이 때는 최근에 삽입한 데이터를 대상으로 뭔가 연산해야 한다면 스택을 떠올리면 좋다 대부분 스택을 몰라서 못 푸는 것이 아니라 스택을 활용해야 한다는 생각을 못 떠올려서 풀지 못하는 경우가 많으므로 스택 관련 문제를 많이 풀어보고 스택을 사용해야 한다는 감을 익히는 것이 중요! 문제 풀이 괄호 짝 맞추기 전형적인 스택을 활용하는 문제 유형. 다만 조건에서 ..
[묘공단] 코딩테스트 스터디 2주차
[묘공단] 코딩테스트 스터디 2주차
2023.11.30이 글은 골든래빗 코딩 테스트 합격자 되기 파이썬 편의 0장 ~ 4장 써머리입니다. 배열 개념 인덱스와 값을 일대일 대응해 관리하는 자료구조 인덱스만 알면 빠르게 탐색 가능 (Random access) 배열 선언 # 1차원 배열 vector = [0] * 6 # 2차원 배열 (e.g., 3 by 4 matrix) matrix = [[0] * 3 for _ in range(4)] 배열 차원 중첩 리스트 형태로 다차원 배열을 표현 가능 그러나 실제 메모리는 1차원 구조로 저장된다 또한 2차원 배열을 1차원 배열로 표현해서 풀이하는 문제도 꽤 자주 출제됨 matrix1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] matrix2 = [1, 2, 3, 4, 5, 6, 7, 8, 9] # 2행 ..