2025-03-28 TIL

알고리즘 문제

해당 문제를 이해하고, 분석하는 것까지는 어려움이 없었습니다.
문제를 본격적으로 풀이하기 위해 알고리즘을 고민할 때 고민이 되는 부분들이 생겼습니다.
첫 번째로 DFS와 BFS중 어떤 것으로 풀이해볼지였는데 둘 다 아직 미숙하다고 느껴지지만, DFS 함수가 조금 더 익숙하기 때문에 해당 방법을 사용해보았습니다.
BFS가 함수 호출 스택이 쌓이지 않고 좀 더 효율적이기 때문에 나중에 기회가 있다면, BFS로도 풀이해보는 것을 도전해보고 싶습니다.
두 번째로 탐색할 때 상하좌우를 어떻게 방문하느냐가 고민이었는데, 조건문을 사용해서 반복 할 수 있는 방향에 대해 직접 호출하는 방법을 처음에 고안했습니다.
하지만, 방향에 대한 배열을 사용하고 반복문으로 호출하는 보다 더 효율적인 방법이 있어서 리팩토링해보았습니다.
세 번째로 2차원 배열에서 DFS를 언제 호출할지였습니다.
이 부분은 간단하게 중첩 반복문으로 섬을 찾게되면 DFS를 호출하도록 구현해보았습니다.
결과적으로 DFS를 응용하고, 다양한 고민을 해보면서 알고리즘 풀이 실력을 향상시킬 수 있는 좋은 문제였습니다.
다만 풀어내는데 시간이 좀 걸렸다고 판단되는데, 앞으로 이 부분에 대해서 보완해야한다고 느껴졌습니다.
[프로그래머스][C++] 무인도 여행

클린 코드

어제 수강한 강의 내용을 후에 복습하고, 꾸준히 기억할 수 있도록 정리해보았습니다.
최적화를 잘 하는 방법에 집중해서 학습하기 보다는 좋지 않은 코드라는걸 느낄 수 있도록 개념 자체에 집중해서 학습해보았습니다.
예시들을 살펴보기도 했는데, 다양한 예시들을 보다보니 개념에 대해서 글로만 보는 것보다 확실히 예시가 더 이해하는데에 도움이 됐습니다.
수강한 내용보다 추가적으로 알아보면서 마틴 파울러의 리팩터링 2판 코드 구조를 체계적으로 개선하여 효율적인 리팩터링 구현하기라는 책을 알게됐습니다.
전체적으로 코드를 잘 작성하는 방법에 대한 내용인 것 같고 굉장히 좋은 내용의 책인지 리뷰가 좋아서 나중에 어느정도 언리얼엔진에 대해 적응을 끝낸 후에 보면 좋을 것 같습니다.
클린 코드를 적용해야하는 경우

PlatformFighterStarterKit 프로젝트 분석

언리얼 엔진의 팹에 PlatformFighterStarterKit라는 프로젝트를 분석해보려고합니다.

C++를 사용하지 않은 블루프린트 프로젝트입니다.
프로젝트에 레벨 블루프린트는 사용하지 않았습니다.

블루프린트 노드의 수가 많고, 별도의 주석이 달려있지 않아서 모든 부분에 대해서 이해하는게 쉽지 않을 것 같습니다.
우선 최대한 많은 부분에 대해 이해하려고 시도하고자 합니다.

이해하기 위해 시도하려는 방법은 다음과 같습니다.
우선 각 클래스들을 다이어그램으로 정리하고, 함수와 변수들에 대해 기록하고자합니다.
그 후 게임 실행 순서대로 사용되는 클래스들의 이벤트들을 하나씩 접근하여 게임 로직을 판단하려합니다.
이 과정에서 이벤트, 함수, 변수들에 대해서 이해할 수 있을 것이라고 생각합니다.

만약 이해 중에 어려운 부분이 있다면 로그와 중단점을 적극적으로 사용해야할 것으로 보고있습니다.

팀프로젝트에 대한 회의

기본적인 코드 컨벤션과 프로젝트 컨벤션, 깃허브 커밋 룰, 트러블 슈팅, 일정 관리 등을 어떻게 할지 회의를 통해 결정해보았습니다.

Date:     Updated:

카테고리:

태그:

TIL 카테고리 내 다른 글 보러가기

댓글남기기