기존 목표는 전부 달성했고 위상정렬에 부족함을 느껴 백준 중, 상문제를 풀면서 개념과 구현을 익혀보았다. 위상정렬은 크게 dfs, bfs 방식이 있었고 각 방식을 배우고, 직접 구현해보면서 이해함을 확인했다. 중문제는 풀만했지만, 상문제는 dp, 재귀가 아닌 반복문으로 풀어야해서 2일간 풀었다. 이례적으로 풀어보는 아이디어가 계속 떠올랐고, 구현 실력도 늘릴 수 있어 문제를 오래 잡고 있어도 괜찮다고 판단했다.
이번주는 기획에 참여하기 어려웠다. 무엇을 하는지 파악하기고 버거웠고, 정해진 기획을 따라가는 느낌이 강했다.
큰 그림보다는 구현에 급급했던것 같다.
화이트박스를 처음 진행해보았는데, 내가 생각했던것만큼 깊게 들어가진 못했다. 그렇다고, 제대로 했냐는것도 아닌것같다. 내 생각에는 어떤걸 확인해야한다정도만 적어두고, AI를 통해 테스트를 진행했다고 확인하면 되는게 아닌가 싶다. 이 부분에 대해선 코치님들 의견을 들어볼 생각이다.
이번주는 같이 백준을 푸는 시간은 없었다. 다만, 수요 코딩회 주제를 찾아볼 시간이 많이 없었는데 돌아보면 큰 문제는 아니였던것 같다.
전혀 생각하지 못했다.
위상정렬 계열 문제가 기억에 남았다. 특히 중짜리 문제는 별도 개념 학습 이후 진행하였다. 위상정렬도 DFS, BFS 방식이 있어 직접 구현해보면서 익혔다. bfs 위상정렬는 큐와 진입차수를 이용하고, dfs는 방문여부와 스택을 활용했다. 개인적으로 dfs 구현에서 시간이 제법 걸렸다. 설명에서는 스택을 이용해 뒤집는다고 나왔는데, 사실 재귀를 빠져나갈 때 결과에 추가하면 되는것이였다.
위상정렬 상 문제는 굉장히 어려웠다. 문제를 다시볼때 고려하지 못했던것들이 많이 보였다. 괜히 상문제가 아니였다. 케이스를 깊게 생각해볼 필요도 있지만, dp가 필요해서 난이도가 높아졌던것 같다. 이후에는 dfs 재귀로 풀었는데 너무 깊어서 반복문으로 전환하는게 어려웠다. 배우는것도 많았지만, 체력도 많이 필요했다.
처음으로 팀프로젝트 개요나 주제를 제대로 파악하지 못한채 진행한것 같다. Virtual DOM이 무엇인지, 어떻게 생겼는지, 어떻게 활용하는지 등에 대해 전혀 모른채 수요 코딩회를 진행하려니 기획 얘기를 따라가기 어려웠다. 물론, 팀원들이 이해될때까지 설명해주었지만 무언가 막연하다는 느낌을 지울 수 없었다.
테스트 케이스를 담당하고, 구현이 일정부분 진행될동안 개념을 학습하기로 결정되었다. 당시엔 팀적으로 모두 찬성했지만, 돌아보면 개념을 따로 공부한다고 크게 바뀌진 않았던것 같다. 부족하면 부족한대로 프로젝트를 수정하는것이 좋지 않았을까싶다. 지난주차전까지는 결과는 어떻든지 공부해서 성장하는게 중요하다 생각했다. 그런데 코치님의 팀플 시각을 접하게 되면서, 현실에 가깝게 프로젝트를 바라보아야겠다는 생각이 들었다. 일정 수준 이상의 퀄리티도 있어야했고, 내가 팀에 기여할 수 있도록 실질적인 방법을 생각하고 수행하는것이 중요했다. 예를 들면, 혼자 모든 것들 맡지 말고, 의도나 진행상황을 공유하고 누구든 대체할 수 있도록 만드는게 프로젝트 성공 가능성을 높일 수 있다. 그래서 이번에는 완성에 초점을 두었던것 같다.
팀적으로 본다면 코치님의 시각이 맞다. 현업에서 주어진 일정에서 결과를 내지 못하면 실패한것이다. 그러나 개인의 입장에서는 남는건 학습이다. 무언가를 만들었다고 성장했다거나 나에게 남는게 많은건 아니다. 이번 프로젝트는 공허했다. 잘 모르거나 분업이 잘못된 탓일수도 있지만, 다른 주차에 비해 탄탄하거나 알차게 공부했다는 느낌이 없다. 결과를 우선시하는것은 물론 중요하지만, 난 하나씩 이해하고 넘어가는게 맞다. 그렇지 않다면, 개발을 계속하지 않을 것 같다. 그래서 나에게 최우선은 학습을 통해 하나씩 내것으로 만드는 느낌이라는걸 알았다. 다음에는 잘 모르면 모르는데로 기능을 할당받는 등 조금 더 주체적으로 성장기회를 탐색해야겠다.