섹션 5는 따로 프로젝트가 없습니다. 앞으로 남은 기간동안 프로젝트를 쭉 하기 때문에 일부러 할당을 하지 않은것으로 생각됩니다. 그래서 조금은 이른 섹션 5 후기를 적어볼까합니다.
이번 섹션 같은 경우는 자료구조와 알고리즘에 초점을 맞춰서 진행되었습니다. 적은 분량은 아니지만 거창하게 자료구조와 알고리즘이라고 말하기에는 양 자체는 부족하지 않나 생각이 들었습니다. 필수적이랄까 절대 모르면 안되는 것들로만 구성되어 있어서 밀도가 높은 듯 느껴질 수 있지만 섹션 5에서 한 것만 가지고는 좀 부족하다는 생각이 드네요. 물론 백엔드와 관련된 지식을 많이 요구하지 않는다면 이것만으로도 충분하다고 생각합니다. 오히려 코딩 테스트를 고려해서 단골로 출제되는 알고리즘들을 더 넣어준 것 같은 생각도 드네요. 모든 업무를 혼자서 쳐내야하는게 아니라면 차고 넘치는 정도의 지식이라고 볼 수도 있겠습니다.
다만 아쉬운 부분은 아예 자료구조와 알고리즘에 대한 지식이 없는 경우에는 섹션 5가 상당히 버겁지 않을까하는 생각이 들었습니다. 공부를 해보신 분들이라면 잘 아시겠지만 반복적인 숙달이 필요한 내용들인데 매일 다른 알고리즘과 다른 자료구조를 배워서 그걸 한달만에 체화한다는 것은 무리가 있겠죠. 그렇다고 해서 연습할 수 있는 양이 많지도 않고 추가적으로 시간을 들여서 숙달을 하기에는 진도가 빠르다고 느껴질 수 있을 것 같습니다. 저는 지속적으로 백준같은 온라인 저지 사이트에서 문제를 풀어와서 크게 부담스럽진 않았지만 같이 수업을 듣는 동기분들이 점점 힘들어 하는게 눈으로 보일 정도였으니까요.
물론 그와 별개로 저는 나름대로 얻을 수 있는 것들이 있었습니다. 일단 누군가가 프레임을 짜놓은 함수를 변형시켜서 원하는 값을 리턴하는 연습을 할 수 있었습니다. 온라인 저지 사이트에서 알고리즘 문제를 풀 때는 그다지 입력이나 리턴에 큰 신경을 쓰지 않아도 됩니다. 결국 출력시키는 답만 맞으면 되기 때문에 함수를 몇 개를 중첩으로 사용하든 어떤 변수를 전역 변수로 사용하든 아무런 문제가 없었죠. 하지만 해당 섹션을 진행하면서 과제나 시험의 경우는 입력과 반환값의 형식을 명확하게 정해놓았기 때문에 쉬운 문제임에도 불구하고 형식을 맞추기 위해 고민을 해야하는 경우가 상당히 많았습니다. 예를 들어서 재귀 문제의 경우, 백준에서 문제를 푼다면 그냥 전역적으로 동작하는 배열을 생성하고 해당 배열에 조건에 맞춰서 값을 추가하고 출력만 시키면 되었다면, 함수를 하나만 사용 해야 했기 때문에 함수안에서 배열을 생성할 경우 재귀호출이 일어날 때 마다 초기화가 되는 부분을 해결해야 했고, 함수를 탈출할 경우 이전에 재귀 호출이 되어 있던 함수는 지역 변수에 다른 값들이 들어있기 때문에 해당 부분을 동기화 시켜주어야 하는 부분을 해결하는 등 현업에서는 이런 일이 있을 수도 있겠구나 하는 생각이 들었습니다. 덕분에 정말 좋은 경험을 할 수 있었어요.
그리고 dp를 메모이제이션과 재귀를 이용해서 구현할 수 있다는 사실도 배울 수 있었습니다. 사실 따로 수업을 들어본 적 없이 백준으로만 공부를 하다보니 태뷸레이션만이 dp라고 생각했었는데 그렇지는 않더라구요. 아쉬운 점이 많은 섹션이었지만 그래도 나름대로 얻은게 있어서 즐거웠습니다.
'Code States' 카테고리의 다른 글
코드 스테이츠 AI 부트캠프 15기 CP2 후기 (0) | 2023.02.17 |
---|---|
코드 스테이츠 AI 부트캠프 15기 CP1 후기 (0) | 2023.01.12 |
코드스테이츠 AI 부트캠프 15기 섹션 4 후기 (0) | 2022.12.08 |
코드스테이츠 AI 부트캠프 15기 섹션 3 후기 (0) | 2022.11.08 |