[코드트리] DP(동적계획법) 알고리즘 약점 학습 후기

1회차 갭체크를 해보고 알게된 제가 특히 부족한 유형은 DP였어요

 

이전부터 DP를 어렵게 느껴서 <다이내믹 프로그래밍 완전정복>이라는 책을 공부하기도 했는데

유형이 정말 다양하고 완벽하게 이해가 안된 채로 문제를 푸는 경우가 많았어요

조금만 응용이 되어도 복잡해서 풀지를 못하겠더라고요ㅠ

 

그래서 이번 2회차에는 막연하게 여러 문제를 푸는 대신

약점으로 드러난 유형인 DP를 골라서 코드트리에서 차근차근 다시 공부해보기로 했어요!

 


 

커리큘럼과 Trail

 

제가 코드트리를 좋아하는 이유 중 하나는 커리큘럼 구조가 잘 짜여져있다는 점이에요!

특히 국제정보올림피아드 출신 전문가들이 직접 설계한 커리큘럼이라서 신뢰가 가요

 

코딩을 처음 하는 사람부터 알고리즘 공부를 시작하는 사람,

레벨업을 하고 싶은 사람 등 자기의 수준과 상황에 맞게 커리큘럼을 선택해서 시작할 수 있어요

순서대로 공부만 해도 알고리즘을 웬만큼 마스터할 수 있어요~

 

 

그리고 그냥 문제만 많이 모아둔 사이트가 아니고
트레일 > 챕터(레슨) > 기본/연습/테스트 식으로 학습 흐름이 자연스럽게 이어져 있어요

 

단순히 난이도만 높은 문제를 푸는 게 아니라,

현재 단계에서 어떤 알고리즘 개념을 익혀야 하는지 순서대로 따라갈 수 있어서 공부 방향을 잡기 편해요!

 

갭체크를 통해 지금 내가 어떤 단계에 있는가를 알고 학습을 시작하면 더 좋겠죠!

 


Trail 4 - Chapter 6. DP II - Lesson 1. 원하는 State를 정의하여 한 칸씩 나아가는 DP


앞에서 DP가 약하다고 말씀을 드렸는데, 그래서 예전에 DP 문제를 거의 다 풀어본 적이 있어요!

이번에는 이전에 마스터하지못한 레슨을 복습해보기로 했어요

 


 

레슨 공부하기

 

 

코드트리의 레슨 단위 학습은 개념을 보고 바로 문제에 적용해보는 구조예요

기본 문제, 연습 문제, 테스트 문제 순서로 구성이 되어있고요

기본 문제에는 기본개념 설명이 함께 제공되고 있어요

 

먼저 기본설명으로 개념을 정리하고, 그 다음 연습 문제에서 바로 손으로 부딪혀보고,

마지막으로 테스트 문제에서 정말 이해했는지를 확인하는 방식이에요

 

 

설명은 이해가 쉽게 그림까지 제공되고 있어요!

DP는 점화식을 세우는게 제일 어려운데 한단계씩 친절하게 설명을 해주고 있어요

해당 유형을 학습하고 바로 연결되는 문제를 풀어볼 수 있어요

 

 

이 연습문제는 기본개념과 동일한 문제예요

이전까지의 합의 최대와 현재값의 합, 현재값을 비교해서 더 큰 값이 답이 되는 문제예요!

 


 

해설과 토론

 

 

문제를 풀고 나면 해설을 볼 수 있는데요

정답만 알려주는 것이 아니라 다양한 접근법의 해설을 제공해줘요

이 문제에서는 시간 초과가 접근법도 제공해주면서 최적화와 문제를 보는 관점을 키울 수 있어요

 

 

토론 탭에서는 다른 사용자들의 질문과 답변을 확인할 수 있어요

문제가 어려울 때 힌트삼아서 볼 수도 있고,

해설을 읽는 과정까지 포함해서 한 문제를 제대로 복습하는 느낌이 들어서 좋았어요

 

 

연습 문제에서는 기본개념을 모아서 볼 수 있어요~

그리고 연습 문제는 쉬운 문제부터 어려운 문제까지 여러가지 난이도로 제공이 되고 있어요

문제 푸는데 걸리는 시간도 표시가 되어 있어서 180m인 문제들은 풀기 전부터 겁이 나요...

 


 

테스트

 

테스트 문제는 쉬운 확인용 문제는 아니고요

이 레슨 내용을 실제로 이해했는지를 점검하는 느낌이에요

그래서 고난이도 연습 문제보다는 쉽지만 엄청 쉽지는 않아요!

 

 

문제를 다 풀지 않고 테스트 문제만 다 풀어도 테스트 완료 상태가 될 수 있어요

아마 이미 아는 개념을 공부한다거나, 레슨을 어느정도 통과할 수준이 됐다는걸 알 수 있는 용도로 만들어져있지 않을까 싶어요

 


 

후기와 회고

 

다른 문제풀이 사이트를 사용하다보면 감이 덜 잡힌 상태로 문제 수만 늘어날 때가 있었는데

코드트리는 트레일과 챕터 구조가 있어서 지금 내 수준에서 어떤 개념을 먼저 메워야 하는지가 좀 더 선명하게 보여요

 

보통 문제를 풀 때 어떤 알고리즘인지 모르고 풀려고 하는데,

그렇게되면 내가 원하는 유형을 공부할 때는 도움이 되지 않더라고요ㅠ

 

그냥 문제만 푸는 공부보다, 한 레슨 안에서 개념과 적용이 이어져 있어서 흐름이 덜 끊기고

한 단위를 끝냈다는 느낌이 분명하게 남는 점도 좋았어요!

 

DP는 늘 어렵게만 느껴졌는데 코드트리와 함께라면 극복할 수 있을 것 같아요

앞으로도 약한 유형이 보이면 무작정 많은 문제를 풀기보다

코드트리 레슨 단위로 개념부터 다시 정리하면서 감각을 다져보려고 해요!

 

 

문제를 풀면서 깃허브 잔디도 채우고 코드트리 포도알 채우는 재미도 있어요

채워진 포도알을 보면 뿌듯하답니다!! 여러분들도 같이 공부해봐요!~~


코드트리에서 학습한 내용이 궁금하다면 아래 링크로 들어가보실 수 있어요~

https://www.codetree.ai/ko/trail-info

 

코딩 테스트 학습 안내 | 코드트리

막막한 코딩테스트 준비, 혼자 헤매지 말고 체계적인 코딩 학습과 단계별 가이드로 빠르게 실력을 쌓아 취업에 성공하세요.

www.codetree.ai