다이나믹 프로그래밍이란?복잡한 문제를 더 작은 하위 문제로 나누어 해결하는 알고리즘 설계 기법이다. 1. Top-down 하향식 (메모이제이션, memoization)재귀 함수로 구현한다.큰 문제를 작은 문제로 나누어 먼저 해결한다는 방향이다.이미 계산한 값은 캐시(dict, 배열) 에 저장해두고, 다시 호출되면 캐시에서 바로 꺼낸다. 2. Bottom-up 상향식 (타뷸레이션, tabulation)반복문으로 구현가장 작은 부분 문제부터 차례로 테이블을 채워나간다.재귀 호출이 없다. DP 가 필요한 경우 최적 부분 구조 : 부분 문제의 최적해로 전체 최적해 구성ex) 최단 경로 문제 A → C 가 A → B + B → C 로 이루어짐중복 부분 문제 : 같은 문제가 반복적으로 등장ex) fib(5) ..
크래프톤 정글 활동을 하면서 슬랙이 주요 연락수단인데, 맥북에 슬랙 어플리케이션을 설치했더니 슬랙 메세지 알림이 안오는 오류가 발생했다. 검색해보니 무언가 고질적인 문제 같은데 ...이거저거 만지다가 어쩌다보니 고쳐서 공유해본다. 옆자리 동료의 맥북도 고쳐줬으니 아마도? 다른 분들에게도 적용이 가능할 것 같다. 1. 환경설정 확인하기알림이 안오는 분들의 공통적인 특징은 시스템 설정 > 알림 목록에 slack 이 없다는 것이다. 목록에 있다면 알림이 꺼져있던건가 한번 확인해주고. 없으면 아래 단계를 따라오면 된다. 2. 알림 허용 시간대 확인하기슬랙의 환경설정에서 슬랙 자체의 알림 허용 시간대를 확인한다. 기본값이 오전 9시 ~ 오후 5시 였던가 그래서. 이 시간대를 확인해서 본인이 활동하는 시간대로..
문제- 이진 검색 트리에서 값을 검색합니다.- BST 특징: 왼쪽 자식 - 이 특성을 이용하여 빠른 검색이 가능합니다.- 왼쪽 서브트리의 모든 값 - 오른쪽 서브트리의 모든 값 > 현재 노드 값 [알고리즘] 트리 구조와 사용하는 이유, 이진 검색 트리트리란? 트리는 데이터 사이의 계층 관계를 표현하기 위해 사용되는 그래프의 한 종류이다. 트리는 왜 쓰는가? 1. 계층 구조를 자연스럽게 표현한다.방대한 양의 데이터를 빠르게 검색, 삽입, 삭skylarcoding.tistory.com 문제풀이def search_bst(root, target): """ BST에서 값 검색 Args: root: 트리 루트 target: 찾을 값 Returns: ..
문제- 이진 트리의 기본 구조를 구현합니다.- 각 노드는 최대 2개의 자식(왼쪽, 오른쪽)을 가집니다.- 전위, 중위, 후위 순회를 구현합니다.- 각 노드가 최대 2개의 자식 노드(왼쪽, 오른쪽)를 가질 수 있는 트리 구조. [알고리즘] 트리 구조와 사용하는 이유, 이진 검색 트리트리란? 트리는 데이터 사이의 계층 관계를 표현하기 위해 사용되는 그래프의 한 종류이다. 트리는 왜 쓰는가? 1. 계층 구조를 자연스럽게 표현한다.방대한 양의 데이터를 빠르게 검색, 삽입, 삭skylarcoding.tistory.com 문제풀이class TreeNode: """이진 트리 노드""" def __init__(self, value): self.value = value self...