[TIL] 2025-04-03 알고리즘 문제, 대난투 프로젝트, 리팩터링 학습
2025-04-03 TIL
알고리즘 문제
이번 문제에서는 자료구조를 사용하는 것까지 이해했습니다.
알고리즘은 어떻게 구현해야할지 감을 잘 잡지 못했는데, 결과적으로 어떤 방법을 사용하는지 답을 찾아보았습니다.
자료구조를 map
과 DFS를 사용한 방법이 있었고, 그래프를 사용한 DFS가 있었습니다.
저도 처음에는 DFS를 통해 완전탐색을 하고, 최단경로를 찾는식으로 구현을 생각해보았지만 구현해내지는 못했습니다.
아직 DFS에 대해 완전히 익히지는 못한 것 같고, 이번 문제를 통해 다익스트라 알고리즘을 알게되었습니다.
어떤 자료구조를 사용해야할지는 잘 선택하므로, DFS에 대해 심화해서 학습해보고, 다익스트라 알고리즘에 대해서 학습해보면 될 것 같습니다.
[프로그래머스][C++] 배달
대난투 프로젝트
다음과같은 프로그래밍 팁을 얻었습니다.
UI에서 동기화해야하는 값들은 게임 스테이트나 플레이어 스테이트에서 변수를 가지고있어야한다.
스테이트에서 가지고 있는 변수로 UI에서 갱신해야한다.
RepNotify을 사용하여 갱신 시점을 파악하고, 갱신 시점에 UI를 갱신한다.
구조체와 열거형은 종류가 많거나 다양한 위치에서 사용할 것 같다면 헤더를 분리해서 따로 선언하는게 좋다.
원래 캐릭터를 담당해서 구현하고있지 않았지만, 캐릭터를 구현하고자 합니다.
시간적으로 좀 부족하다고 생각하는데 팀원들을 마냥 보채기만 하는건 좀 미안하고, 제가 빨리 작업하는게 팀원들한테 스트레스가 덜 될 것 같아서 이렇게 결정했습니다.
캐릭터를 담당한 팀원과 얘기해서 제가 캐릭터를 구현하기로 했고, 원래 캐릭터를 담당했던 팀원은 다른 기능을 담당하기로 했습니다.
다음주 화요일에서 수요일까지 캐릭터를 다 구현해내는 것이 목표입니다.
그리고 금요일까지 다른 게임모드나 UI 등을 구현하는 것이 현재 목표입니다.
리팩터링
리팩터링에 대한 강의를 수강했습니다.
코드를 세분화해야하는 경우와 코드를 통합해야하는 경우에는 어떤 차이가 있는지, 상속과 위임은 언제 사용하는지 등 리팩터링에서 애매하다고 느껴지는 사항에서 어떻게 해야하는지에 대한 강의였습니다.
이전에는 어떤 상황에서 리팩터링을 해야하는지 배웠다면 이제는 어떻게 해야하는지를 배웠으므로, 잘 기억해둔다면 리팩터링의 기초를 익혔다고 할 수 있을 것 같습니다.
강의에 대한 내용은 나중에 팀프로젝트 과제가 끝난 후에 정리하고자 합니다.
댓글남기기