
트리 기본 문제, 이진 트리의 최대 깊이를 구하는 문제. 1️⃣ 내가 푼 풀이 모범 풀이는 아니지만 나름대로 코드를 설계하고 코드의 동작 및 단점에 대해 리팩터링한 내용을 담았다. 그 후 2️⃣3️⃣ 책에 나온 모범 풀이 2가지를 학습하였다.(BFS, DFS 방식)
2차원 배열 구간 합의 최적화 주어진 N*M 크기의 행렬에서 특정 구간 (i, j)부터 (x, y)까지의 합을 여러 번(총 K번) 구하는 문제. 브루트포스 O(K*NM) / 누적합(Prefix sum) O(NM) + O(K)
프로그래머스 숫자짝꿍 Counter, join(), list1.append(), list1.extend() 코드업 (기초-리스트) 이상한 출석 번호 부르기1
프로그래머스 Lv.1 문제 두 정수 사이의 합과 정수 제곱근 판별을 통해 다양한 접근법과 Python 언어적 특징을 살펴봤다. sum(range()), 수열의 합 공식, 삼항 연산자, 리스트 컴프리헨션, 논리 연산자 등을 통해 단순한 문제 코드 짧게 풀기.

리트코드 01 Matrix 문제. 초기 시도 시간초과 뜬 이유와 개선해서 푼 풀이, 리팩터링한 풀이, 다른 알고리즘을 사용한 풀이 (총 3가지 정답 풀이)

Leetcode 108를 풀고 내 코드와 책 코드 비교. 문제 설명 : 정렬된 배열의 이진 탐색 트리(BST) 변환.정렬된 배열을 받아 높이 균형 이진 탐색 트리로 변환하라. 높이 균형이란 모든 노드의 두 서브 트리 간 깊이 차이가 1 이하인 것을 말한다.

난이도는 Easy라고 적혀있지만 BST의 의미 자체를 넘어서 BST에 대한 이해도를 높여준 문제이다. 이진 탐색 트리 노드 값 간 차이의 최솟값 구하는 문제. 실패 코드, 성공 코드, 문제 의도에 맞는 풀이 코드 분석. 자바 트리 순회(전위, 중위, 후위 순회)

이진 탐색 트리가 주어졌을 때 low 이상 high 이하의 값을 지닌 노드의 합을 구하는 문제. 내 풀이 코드와 단점, 책에 나온 풀이법 4가지. 1) DFS로 브루트 포스 탐색(내 코드랑 비슷), 2) DFS 가지치기, 3) 반복구조 DFS, 4) BFS

책에 나온 모범 풀이이다.

C는 bias를 이용한 투 포인터로 0ms. Python은 리스트 투 포인터 또는 deque 사용. 리스트의 pop(0)은 O(n)이지만 deque의 popleft()는 O(1). 리스트는 동적 배열->맨 뒤 삽입/삭제만 O(1).파이썬 슬라이싱은 C 최적화로 빠름.
백준 20055 '컨베이어 벨트 위의 로봇' 문제 풀이와 AI 코드 비교. 🤖 deque를 활용하여 컨베이어 벨트의 회전과 로봇의 이동을 시뮬레이션하는 문제. 로봇 이동 후 내리는 위치(N-1)의 로봇을 처리하는 부분 중요‼️종료 조건 확인 방식 차이 비교.
카카오 2019 인턴 코딩 테스트 튜플(프로그래머스 Lv. 2) 풀이 3가지

defaultdict()는 인자로 주어진 객체의 기본값을 딕셔너리의 초기값으로 지정함. string의 경우 첫 글자의 주소값으로 참조를 하기에 원본이 변경되면 안되므로 스트링 타입에는 sort()라는 메서드가 없음. 대신 sorted(s)를 써야 함. 리스트를 리턴함.