1. 오늘의 몰입: 그리디의 확장
주요 목표
- 코딩 테스트 집중 훈련: 백준 골드 티어 그리디 및 복합 유형 10문제 풀이
- 복합 유형: 그리디를 베이스로 하되, 다양한 자료구조와 알고리즘이 결합된 문제들을 풀이.
- + 수학: 수학숙제(2904), 제조(2879)
- + 자료구조: 소가 길을 건너간 이유(14464/PQ), 강의실 2(1374/PQ)
- + 투 포인터: 재활용 캠페인(22988)
- + Union-Find: 일감호에 다리 놓기(17490)
- 복합 유형: 그리디를 베이스로 하되, 다양한 자료구조와 알고리즘이 결합된 문제들을 풀이.
- 자산화(Assetization): 자주 쓰이는 수학 알고리즘(소인수분해, GCD/LCM)을 템플릿 코드로 정리하여 블로그에 업로드.
달성률: 100% (어제의 극심한 스트레스를 이겨내고, 오늘은 안정적인 페이스로 10문제를 모두 소화했다.)
2. 오늘의 난관 (성장)
- 반성 없음: 오늘은 특별한 반성보다는 몰입의 즐거움이 더 컸다. 어제까지만 해도 머리가 깨질 듯 아팠던 그리디의 논리 구조가 오늘은 비교적 선명하게 보이기 시작했다.
- 유형의 확장: 단순히 “가장 큰 것을 고른다”는 1차원적 그리디를 넘어, “이 문제는 MST(최소 신장 트리) 변형이니까 Union-Find를 써야겠네”, “이건 정렬 후 투 포인터로 좁혀야겠네”라는 식의 도구 선택 능력이 생겼다.
3. 배움과 기록: 무기가 되는 코드
💡 1. 그리디 혼합 패턴
오늘 푼 문제들(17490, 22988, 14464)을 통해 그리디 알고리즘의 혼합 패턴을 더 배울 수 있었다.
- Union-Find: 사이클을 피하며 비용을 최소화해야 할 때 (17490)
- Priority Queue: 시간 순서대로 마감 기한을 관리해야 할 때 (14464)
- Two Pointers: 양 끝에서 최적의 합을 찾아 좁혀올 때 (22988)
💡 2. 수학 문제, 더 이상 당황하지 않기
코딩 테스트에서 정수론이나 수학 문제가 나오면 구현이 막막할 때가 많았다. 이를 방지하기 위해 PrimeFactorMap(소인수분해), GCD/LCM 등을 미리 클래스로 만들어 두었다. 필요할 때 바로바로 만들어쓸 수 있도록 체화하자.
👉 코딩 테스트 수학(Math) 대비: 소인수분해, GCD/LCM 완벽 정리 및 자바 코드
4. 내일의 다짐
- 꾸준함의 힘: 일도 그리디 10문제를 푼다.