이번주는 컨디션 조절에 완전 실패한듯 하다. 아침을 이겨낼 수 없었다. 다음주엔 이런일이 없기를… 공부를 하는 절대량은 변함없는데, 이번주를 돌이켜보면 아침에 더늦게 일어나고, 저녁에 더 늦게자고의 반복이였다. 그래도 아침에 일어나서 자료들을 더 찾고, dp관련 유튜브를 보며 준비했다.
사실 dp는 언제나 어렵다. 실제로 이전에 공부 했을때도, 이론만 어떻게든 짚고 넘어가자 하며 공부했던 기억이 난다. 탑다운, 바텀업, 메모이제이션, 사실 이론들은 전부 쉽다. 문제는… 이론이 쉬운만큼 문제에 적용하는 난이도가 올라간다는 것… 그래도 여러번 개념정리를 하다보니 익숙해진것 같아 나름 기분이 좋았다.
기본 문제들을 풀이하며 개념을 더 깊게 학습할 수 있었다. 오늘 푼 문제중 for문을 역순으로 진행시켜야지만 풀이할 수 있는 문제가 있었다. 사실 2차원 배열의 dp를 활용해서 풀이해야 했을 문제였는데, 나한테 조금더 익숙한 1차원 배열로 구현해 봤더니 chat gpt 가 그럼안돼! 하면서 for문 역순 방법을 소개시켜줬다. 나중엔 두 방법 모두 마스터 해서 뭐든 풀어내고 싶은 마음이 굴뚝같지만, for문 역순의 사용이유를 캐다 보니, 지금 당장은 2차원 배열 dp에 집중해야 겠다는 생각이 들었다. 참… 컴퓨터공부는 하면할수록 해야할게 거듭제곱으로 많아지는것 같다…
문제들이… 조금 난해했던것 같다. 6시전까지는 총 4문제정도 풀이 했는데, dp의 개념을 적용시킨 문제들을 풀었다기보단, dp를 활용해서 이런것도 할수있다! 라고 말하는것 같은 문제들을 풀었다. 풀이를 안본다면… 정말 구현하는데 하루는 걸릴것 같은…. 힌트조차 없으면 접근도 못할것 같은 그런 문제들… 배낭문제도 그렇고, 행렬문제도 그렇고… 확실히 dp를 활용하는 방식이 다양하다는건 문제들을 통해 알게 됐지만, 과연 코딩테스트를 위한 dp구현과 연관이 있을까? 라는 질문에는 물음표가 많이많이 생겼던 것 같다.
오기가 생겨서 그랬던건지… 이 문제들을 직접 구현해보고싶어 눈에 불을키고 11시까지 달렸다. 결론적으로는… 알고리즘을 검색해서 이해한뒤 풀어냈다. 그래도 투자한 시간 만큼 문제에 접근할 수 있었던 것 같아서 다행이다. 올바른 방향으로 공부하고 있다는 의미가 아닐까? 문제에 집중해서 그런지 숙소에는 평소보다 늦게 들어갔다.
오늘은 간단하게 마무리하고 자려했다. 1시반쯤 대충 다 끝내고, 코드 리뷰는 이후로 미뤘다. 이번주는, 화,수에 몰아서 코드 리뷰를 해보려고 한다. 하루에 해야할 것들이 너무 많이 정해져 있으면, 내 마음도 조급해 졌던것 같다. 매일 진행했던 코드리뷰와 정리를 한주의 일정으로 계획해서, 좀더 여유롭게 하루를 보내려고 한다.
일찍 자려했는데… 그동안 미뤄왔던 룸메 승우와 깊은 이야기를 했다. 정말 다같이 간절하구나. 라는 생각이 들었던 대화였다. 프라이버시가 있기에! 따로 쓰진 않겠지만, 정말 스스로에 대해 깊게 고민하고 있다는걸 느꼈다. 나만 간절한게 아니였다… 더 열심히하자! 더 많이! 더 조급하게! 하지만 천천히… 벨런스있게! 파이팅!