2025-04-27 TIL

알고리즘 문제

문제를 이해하고 분석할 때 특정 문자의 변환 횟수를 구하는 것은 어렵지 않아서 모든 문자의 변환 횟수를 구하는 것은 어렵지 않았습니다.
하지만 조이스틱을 왼쪽 오른쪽으로 이동하는 최소 횟수를 구하는 것이 어려웠습니다.

방문 배열을 사용해서 매 순간 왼쪽과 오른쪽 중 수정해야하는 글자 중 가자 가까운 방향을 구하는 방법과 오른쪽에 수정해야하는 글자 중 가장 가까운 위치를 기준으로 왼쪽으로 이동할지 오른쪽으로 이동할지 구하는 방법을 고민해보았습니다.
시간 복잡도 상으로 후자가 더 효율적인 것 같아서 후자를 선택해 보았는데, 채점에서는 만점으로 통과했습니다.
하지만 AABAAAAAAB같은 테스트 케이스에서 기대값이 7이지만 결과값이 6으로 나오면서 특정 테스트 케이스에서는 통과하지 못했다는 문제가 있습니다.
저 이외에도 비슷한 알고리즘을 구현했거나 이 문제를 고려하지 않고 풀어낸 사람들이 꽤 많은 것 같습니다.
전자의 경우는 구현해보지 않았지만, 이 문제를 해결 할 수 있을 것 같습니다.

인수 목록이 일치하는 min함수가 없다는 에러가 떴는데, 원인을 쉽게 찾지 못해서 좀 고전했습니다.
문제가 됐던 부분은 intname.length()를 사칙연산을 진행했는데, 이 경우 intunsigned long long 자료형을 기준으로 연산이 되어 에러가 뜨던 문제였습니다.
name.length()의 값을 int로 저장하고, 이 값을 사용하여 해결했습니다.
정말 찾기 어려운 문제였는데 다음에도 이런 비슷한 문제를 겪게 된다면 함수의 반환값을 주의하여 살펴볼 것 같습니다.
[프로그래머스][C++] 조이스틱

Unreal Thread Safe

ALS프로젝트에서 Thread Safe기능을 사용중이라 알아보면서 학습해보았습니다.
학습한 내용은 다음과 같습니다.

언리얼 엔진에서는 애니메이션 연산이 CPU 최적화를 위해 멀티스레딩으로 수행됩니다.
Thread Safe라고 표시된 함수나 변수는 멀티스레드 환경에서도 안전하게 읽거나 쓸 수 있다는 의미입니다.
즉, 게임의 메인 로직 스레드(Main Thread)와 애니메이션 계산 스레드(Worker Thread)에서 동시에 접근해도 데이터 충돌이나 비정상적인 동작이 발생하지 않는다는 것입니다.

Thread Safe가 보장되지 않는 데이터를 애니메이션 그래프에서 사용할 경우에 유용합니다.
예를 들어 한쪽 스레드가 값을 읽고 있을 때 다른 쪽 스레드가 값을 변경하면 충돌(Crash)이나 잘못된 결과가 발생할 수 있습니다.

언리얼 엔진에서는 이런 위험을 줄이기 위해, AnimGraph에서는 Thread Safe한 함수, 변수만 접근하도록 강력하게 권장됩니다.

빛의 삼원색

RGB라는 개념이 다양한 분야에서 사용되고, 게임의 영역에서도 사용되기 때문에 간단하게 알고있으면 좋을 것 같아 학습해보았습니다.

깊은 부분까지 학습을 진행하진 않아서 자세한 내용은 없지만 별도의 글로 정리해보았습니다.
빛의 삼원색

Date:     Updated:

카테고리:

태그:

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

댓글남기기