[TIL] 2025-03-31 알고리즘 문제, 대난투 프로젝트 첫 문제
2025-03-31 TIL
알고리즘 문제
DFS 문제를 풀어내는 것에 부족함을 느껴, 복습을 해보았습니다.
가장 먼저 타겟 넘버 문제를 풀어보았습니다.
해당 문제의 알고리즘은 굉장히 기초적인 DFS라고 느껴지는 쉬운 문제라 복습에 어려움이 없었습니다.
기본적인 DFS를 구현할 수 있다고 판단됩니다.
프로그래머스 타겟 넘버
백준의 바이러스 문제또한 풀어보았습니다.
그래프를 사용하여 DFS 혹은 BFS탐색을 하는 문제라고 한번에 이해했는데, 이제 문제를 보고 짧은 시간에 문제를 이해하기 시작하는 것 같아서 성취감을 느낍니다.
하지만, 그래프를 응용해서 알고리즘 풀이에 처음 적용해보는 문제였고, 문제에서 DFS로 처음 그래프를 탐색해보아서 약간의 어려움을 느끼기도 했습니다.
문제 자체는 결국 너무 오랜 시간이 걸리지 않고 풀어내서 만족감과 성취감을 잘 느낄 수 있는 문제였습니다.
추후에 여유가 있다면 해당 문제를 BFS탐색으로도 풀어보고 싶습니다.
[백준][C++] 2606번 바이러스
대난투 장르 프로젝트 첫 문제
오늘 회의에서는 많은 일이 있었습니다.
우선 팀프로젝트를 하지 않겠다고, 나간 인원이 한명 생겼습니다.
기존에 개인적으로 진행하던 프로젝트가 있는데 해당 프로젝트를 진행하기 위해 팀프로젝트는 진행하지 않겠다고 나갔습니다.
그리고 개인 일정으로 팀프로젝트 진행 중간에 작업하기 어려운 인원 또한 한명 생겼습니다.
이 인원은 중간정도까지는 열심히 작업할 수 있다고 하기 때문에 현재로서는 5명, 다음 주 중으로 4명이서 작업하게 됐습니다.
생각지 못한 일이고, 굉장히 생각이 복잡해지는 일이었습니다.
남은 인원들 또한 프로젝트의 기능들을 더 많이 구현해내야하고, 심적으로 부담을 가지게 되는 계기가 된 것 같습니다.
다른 일로는 팀원들이 주말동안 템플릿 프로젝트를 분석하거나 이해하지 못했고, 오늘 제대로된 회의를 진행할 수 없었습니다.
단순하게 귀찮다거나 까먹고 안했다는 등의 게으름 문제일 수 도 있지만, 저는 다르게 생각해서 팀원들이 기술적인 지식이 부족할 수 있다는 생각이 들었습니다.
이 생각이 든 이유는 점심을 먹고난 후 1시간동안 개인적으로 프로젝트를 분석하는 시간을 가지기로 했지만, 저를 제외한 모든 인원이 프로젝트를 잘 분석해내지 못했기 때문에 팀원들이 기술적으로 부족하다는 추론을 해볼 수 있었습니다.
그리고 회의를 통해 각자 어느정도 수준인지 얘기해보았고, 기술적으로 부족하다는게 맞다는걸 알 수 있었습니다.
저를 제외한 4명 모두 C++ 코드 작성에 미숙함을 가지고 있고, 무언가 구현해내는 것에 어려움을 느끼는 상태였습니다.
블루프린트 노드 또한 잘 알지 못해 이해할 수 없었고, 이로 인해서 템플릿 프로젝트를 분석 할 수 없었습니다.
C++로 무언가를 잘 구현해낼 수 없고, 블루프린트 노드 또한 잘 이해하지 못한 상태기 때문에 자신감또한 없어보였습니다.
위의 일들로 인해 앞으로의 프로젝트 진행에 많은 고민을 하게됐습니다.
템플릿 프로젝트를 그대로 사용하기에는 블루프린트 노드를 이해하지 못했고, 템플릿 프로젝트를 모두 설명하기에는 주어진 시간이 촉박하다는 문제가 있습니다.
이 문제들을 해결하기 위해 고안한 방법은 다음과 같습니다.
어느정도 이해할 수 있는 제가 템플릿 프로젝트를 분석하고 이 내용을 이해하기 쉽게 작성해주어 팀원들을 이해시키는 방법입니다.
이 방법은 시간이 너무 오래걸리고, 저의 체력을 너무 많이 소모하는 방법이라고 생각합니다.
다른 문제로 제가 분석하고 자료를 만들기까지의 팀원들이 무언가를 작업할 수 없다는 문제가 있습니다.
이로 인해서 이 방법은 좋지 못한 방법이라고 판단되고, 시도해보지 않을 것 같습니다.
프로젝트를 새로 만들고, 필요한 일부 클래스나 애셋만을 이주로 가져와서 사용한다는 방법입니다.
이 방법은 이주 중에서 링크가 깨졌을 때, 다들 무엇이 문제인지 빠르게 찾지 못할 것이고 이로 인해 작업 속도가 지연될 것 같습니다.
그리고 이주를 하는 것에 익숙하지 않기 때문에 불필요한 애셋까지 가져오는 등 다른 문제가 발생 할 수 있을 것 같습니다.
그리고 결과적으로 템플릿 프로젝트를 이해한 상태가 아니기 때문에 필요한 부분을 수정하거나 추가하는 등의 프로그래밍을 진행하기 어렵습니다.
이 방법은 제가 직접 시도해보거나 팀원들이 템플릿 프로젝트를 어느정도 이해하게 된다면 시도해볼 수 있을 것 같습니다.
템플릿 프로젝트의 흐름이나 구현된 기능들에 대해 간략하게 설명하면서 새로운 프로젝트에 직접 C++로 구현하는 방법입니다.
이 방법은 시간 효율이 떨어지지만, 팀원들로 하여금 프로젝트를 이해할 수 있게하는 방법이라고 생각됩니다.
가장 걱정되는 점은 직접 구현을 할 수 있어야한다는 점입니다.
이 방법이 튜터 선생님들께서 가장 괜찮을 것 같은 방법으로 조언해주셨기 때문에 이 방법으로 진행해보려고 합니다.
결과적으로 템플릿 프로젝트를 수요일인 4월 2일까지 분석해보고, 목요일인 4월 3일부터 구현을 한번 해보려고 합니다.
일부 인원은 아트적인 쪽으로 관심이 있어해서 UI와 레벨디자인 등을 담당하기로 했습니다.
이 인원의 작업이 빠르게 끝난다면 AI까지 진행해볼 수 있을 것 같습니다.
나머지 인원은 템플릿 프로젝트를 수요일까지 최대한 이해해보고, 이후에 작업해야할 기능들을 분리하고, 담당을 나누게될 것 같습니다.
오늘 팀장으로서 많은 고민과 걱정을 하게됐지만, 무언가 진전이 있다고 느껴져서 마음은 조금 편해집니다.
조원들과 열심히 한번 해보고 구현해낼 수 있는 최대한으로 구현해보고 싶습니다.
댓글남기기