2025-03-27 TIL

알고리즘 문제

문제를 푸는데에 난이도는 좀 있었지만 문제 설명에서 어떻게 풀이해야할지 설명되어있어서 풀어낼 수 있었습니다.
하지만, 반복문의 최대 횟수를 결정하는 것에 가장 큰 고민이 있었습니다.
문제를 풀어내는 목적에서는 적당한 값을 설정하면 됐지만, 제가 구현한 알고리즘에서 알맞은 횟수를 정해주고 싶었습니다.
결과적으로 2개의 큐에서 서로 값이 교환되고, 원래 큐로 넣는 것까지 고려해서 $3n - 3$의 횟수로 결정해주었습니다.
이외에 예외에 대한 처리가 많아서 고민할 부분이 많았던 문제였습니다.

풀이하고 다른 사람의 코드를 보던 중 벡터를 사용하는 방법을 보게되었습니다.
해당 방법은 투 포인터로 문제를 해결한다는 점 이외에는 유사한 방법이었습니다.
[프로그래머스][C++] 두 큐 합 같게 만들기

자료구조

어제 학습해본 트리에 대해서 추가적으로 알게된 내용이 있었습니다.
트리에서 탐색은 어떠한 값을 발견하기 위한 행위이고, 순회는 어떻게 생겼는지 전체 구조를 파악하기 위해 모든 노드를 방문하는 것이라는 차이점이 있습니다.
트리의 순회에는 전위, 중위, 후위가 있습니다.
해당 내용들은 기존에 트리에 대해 정리했던 게시물에 추가로 정리해보았습니다.
[C++ Data Structure] 트리(Tree)

트리에 대해 학습했으므로, 중요한 자료구조인 이진 탐색 트리에 대해서 학습해보고, 정리해보았습니다.
이진 탐색 트리에서 값의 크기에 따라 어느 서브트리로 결정되는지 영향을 준다는 부분이 인상 깊은 자료구조였습니다.
구현도 해보았는데, 구현은 다양한 곳을 참고해서 구현해보았습니다.
개념과 사용하는 방법에 있어서 이해는 했지만 시간이 흐르고 난 뒤 다시 해당 자료구조를 직접 구현해보라고 하면 자료를 참고하지 않고 구현하는 것은 어려울 것 같습니다.
[C++ Data Structure] 이진 탐색 트리(Binary Search Tree)

기타

try-catch를 사용해서 코드가 의도대로 잘 동작할 수 있도록 하자.
interface를 사용해서 설계를 잘 해보자.

언리얼에서는 예외 처리를 지원하지 않고, 권장되지 않습니다.


언리얼 엔진에서 클린 코드를 작성하기 위한 강의를 수강했습니다.
구체적인 최적화 방법을 학습하기보다는 현재 자신의 코딩 스타일에 부족함이 있다는 것을 느끼고, 감지할 수 있도록 공부해보는 시간이었습니다.

제가 어느정도 알고있던 내용도 있었지만, 새로운 정보들을 정말 많이 학습하기도 했습니다.
가장 인상 깊었던 내용은 함수의 매개변수 개수가 많다면 구조체로 묶어 그룹화하는 방법이었습니다.
다음으로 항상 기능을 구현하기 전에 기능이 확장될 수 있으니 해당 부분을 고려해서 불륨을 키워 코딩하기도 했었습니다.
이 습관이 속도도 느려지고 불필요한 행동을 하는거기 때문에 굉장히 좋지 않다는 습관이라는 것을 이해했는데, 앞으로 많이 신경쓰고 주의하게 될 것 같습니다.
이 외에도 다른 내용들이 있었고, 추가적인 다른 내용들은 다음에 별도의 글로 정리하고자 합니다.


TIL의 작성에 대한 고민

TIL을 현재 게시글을 분리해서 작성하고 있습니다.
분리된 게시글에서는 학습한 내용 자체를 정리하고, TIL에서는 해당 내용을 학습하면서의 목적, 배운점, 느낀점, 회고 등을 작성해서 분리하고 있습니다.
이 방법이 효율적인가에 대한 고민이 있습니다.

개선할 방법으로는 다음과 같은 것들을 고려하고 있습니다.

  • TIL에서 작성하는 목적, 배운점, 느낀점, 회고 등을 게시글 안에 작성하고 TIL은 학습한 것들의 링크만 두는가
    • 이 방법은 TIL자체를 봤을 때 이상하게 보일 수 있을 것 같다.
    • 게시글 안의 내용이 복잡해지거나 가독성이 떨어질 수 있을 것 같다.
    • 한 게시글 안에 여러가지 내용이 들어있다면 과연 다 볼 수 있을까?
  • 게시글의 이름을 좀 더 자세하게 쓰는가
    • 게시글의 종류에 따라 달라질 것 같다.
    • TIL의 경우 날짜만 쓰고 있는데, 그 날 학습한 내용의 간략한 요약을 추가하는방법
    • TIL은 글의 이름을 좀 더 자세하게 쓰는 것이 좋은 것 같다.

TIL의 의의에는 잘 맞게 쓰고있는 것 같다.
예를 들어, 성실하고 학습의 목표와 배운점, 느낀점과 회고를 잘 작성하고 있는 것 같다.

TIL에서 프로그래밍의 오류와 문제가 생겼을 때 해결하는 과정을 작성하면 좀 더 좋을 것 같다.

Date:     Updated:

카테고리:

태그:

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

댓글남기기