본문 바로가기
정글/TIL

[크래프톤 정글] 33일 - RBTree

by 위대한초밥V 2023. 5. 6.
오늘 한 일💪
- 알고리즘 문제 풀이(P11659 - 구간 합 구하기 5)
- RBTree 개념 정리

P11660 - 구간 합 구하기 5

https://www.acmicpc.net/problem/11660

 

11660번: 구간 합 구하기 5

첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네

www.acmicpc.net

이 앞에 일차원 구간 합 구하기 문제를 풀어서 DP를 사용해야함은 인지했다.

2차원에서 어떻게 할까 고민하다가 누적합을 그리기 시작했다.

구한 누적합으로 구간합은 다음의 방식으로 계산했다. 

 

이번에는 오랜만에 자바로 풀어봤는데 생각했던 것 이상으로 그 사이에 까먹었다.

RBTree

이번 주차부터는 RBTree를 구현하는 프로젝트를 진행한다. 

그래서 오늘은 RBTree에 대한 이해를 위해 개념부터 공부했다. 

주로 책과 영상으로 공부했는데, 여러번 보고 그림 그리니 어느 정도 알 것 같긴하다. 

영상 링크: https://www.youtube.com/watch?v=2MdsebfJOyM

공부한 내용 정리한 것이다. 

자세한 내용은 추후에 티스토리에 업로드하겠다. 

 

사실 RBTree는 작년 알고리즘 수업에서 한번 다뤘다. 부끄럽지만... 나는 어려워서 건너뛰었다. 이 과정에서 깊이있게 공부하면서 완벽하게 이해하는 것이 목표다. 

 

내일은 C언어를 복습하고, 의사 코드를 바탕으로 함수 구상(?)을 해보겠다.

 

내일 할 일😎
- C언어 공부
- gcc 사용법
- malloc / free 사용법 파악
- 알고리즘 문제 풀이 1문제
- 우테캠 코딩테스트
- RBTree 함수 구상

정말 오랜만에 작성하는 TIL이다. 그동안 TIL 작성에 부담을 느껴 미뤘는데 하루동안 무엇을 하였고, 그 결과 어제의 나와 어떤 점이 달라졌는지 기록하는 것이 필요하다고 생각한다. 

 

이 과정이 벌써 한달이 지났다.

익숙함에 어딘가 루즈해지는 내가 보이기도 하고, 또 5개월이 끝나고 다가올 현실에 걱정되기도 하였다.

그러던 중 어제의 티타임을 통해 내가 결정한 선택이 나에게 필요한 것이라는 생각을 다시 한번 상기할 수 있었다. 

또 이 과정의 장점 중 하나인 합숙을 통한 훈련에서 사람들과 마주하며 쌓을 수 있는 '좋은 사람'이 되는 기회도 다시 떠올랐다. 

아무튼 건강하게 잘 시간을 보내고 싶다.

반응형