Raylib 게임의 직선 투사체 궤적 간격 오류 해결

Raylib 기반 게임 개발에서 직선형 투사체(포탄)를 구현할 때, 특정 방향으로 이동하는 투사체의 궤적에 검은색 점 간격이 발생하는 문제가 발견되었습니다. 이는 주로 픽셀 기반 라인 그리기 알고리즘의 조건 처리 미흡으로 인해 발생하며, 본 문서에서는 이 문제를 분석하고 해결한 과정을 설명합니다. 개발 환경 및 배경 본 프로젝트는 C++와 Raylib 4.5를 사용하여 2D ...

8월 2일 07:11에 게시됨

C/C++ 문자열 분리 함수 strtok 심층 분석

strtok 함수의 이해와 활용 1. 기본 사용법 및 작동 원리 strtok는 C 언어에서 제공하는 문자열 토큰화 함수로, 지정된 구분자를 기준으로 문자열을 조각내는 데 사용됩니다. 이 함수는 <string.h> 헤더에 정의되어 있으며, 반복 호출을 통해 연속적인 토큰을 추출할 수 있습니다. 함수 시그니처 char *strtok(char *str, const char *delim); str: 첫 번째 ...

8월 1일 01:16에 게시됨

C++에서 동적 메모리 관리: 포인터와 삭제의 올바른 사용

포인터가 항상 delete를 필요로 하는 것은 아니다. 메모리 해제 여부는 해당 포인터가 가리키는 데이터의 생성 위치와 수명 주기에 따라 결정된다. 힙(동적 메모리)에서 new 또는 new[]로 할당된 메모리는 반드시 delete 또는 delete[]로 수동으로 해제해야 하며, 그렇지 않으면 메모리 누수가 발생한다. 반면 스택, 정적 영역, 글로벌 영역 등에서 생성된 메모리는 시스템 ...

7월 31일 15:21에 게시됨

2025-11-05 NOIP 모의 대회 2 후기

결론 짧게: 100+0+0+0 점수. T1: 소 Z의 장갑 문제 설명 길이가 \(n\)인 배열 \(a\)와 길이가 \(m\)인 배열 \(b\)가 주어집니다. 이 배열에서 \(\min(n,m)\)개의 쌍 \(a_i, b_j\)를 매칭해야 합니다. 각 숫자는 한 번만 매칭할 수 있습니다. 매칭의 비용은 \(|a_i - b_j|\)이며, 매칭 그룹의 비용은 이들 중 최댓값입니다. 이 최댓값을 최소화해야 합니다. 대회 당시 탐욕 ...

7월 31일 09:43에 게시됨

C++ STL: map과 multimap 심층 분석

map과 multimap 개요 map과 multimap은 C++ Standard Template Library (STL)에서 제공하는 연관 컨테이너로, std::pair 객체를 사용하여 키(key)와 값(value)의 쌍으로 데이터를 저장합니다. 이 두 컨테이너는 내부적으로 레드-블랙 트리(Red-Black Tree) 자료구조를 기반으로 구현되어, 저장된 요소들이 항상 키를 기준으로 정렬된 상태를 유지합니다. 이러한 정렬 특 ...

7월 31일 07:58에 게시됨

C++ 를 활용한 삽입 정렬 알고리즘 구현과 테스트

삽입 정렬의 핵심 개념 삽입 정렬 (Insertion Sort) 은 데이터를 하나씩 꺼내어 이미 정렬된 부분에 올바른 위치를 찾아 삽히는 방식입니다. 주로 부분적으로 정렬된 데이터를 처리하거나 데이터 크기가 작을 때 효율적입니다. 이 알고리즘은 불안정하지 않으며 시간 복잡도는 평균적・최악의 경우 O(n²) 입니다. 오름차순 정렬 구현 왼 ...

7월 31일 06:46에 게시됨

C++에서 포인터, 참조, 값 전달 방식의 핵심 이해

메모리를 '서랍장'으로 이해하기 C++ 학습 과정에서 가장 헷갈리는 개념 중 하나는 바로 포인터와 참조입니다. 이를 쉽게 이해하기 위해 메모리를 일련의 번호가 붙은 서랍장이라고 상상해보세요. 각 변수는 특정 서랍에 저장되며, 그 서랍의 번호가 바로 주소입니다. 기호 '*'와 '&'의 이중적 역할 이 두 기호는 문맥에 따라 완전히 다른 의미를 가지므로 주의가 필 ...

7월 30일 22:12에 게시됨

LeetCode Weekly Contest 90 알고리즘 문제 풀이

1. Buddy Strings (친밀한 문자열) 두 개의 문자열 s와 goal이 주어졌을 때, s의 두 문자를 단 한 번 교체하여 goal과 동일하게 만들 수 있는지 확인하는 문제입니다. 풀이 전략: 두 문자열의 길이가 다르면 절대 같아질 수 없으므로 false를 반환합니다. 두 문자열이 이미 같다면, 문자열 내에 중복된 문자가 하나라도 있어야 교체 후에도 동일함을 유지할 수 있 ...

7월 30일 20:15에 게시됨

이기 게임 이론: 스프래그 - 그런디 함수의 구현 및 활용

스프래그 - 그런디 (Sprague-Grundy) 함수 개요 조합론 게임 이론에서 가장 핵심적인 개념 중 하나는 스프래그 - 그런디 정리입니다. 이 정리는 임의의 공정한 게임 (Impartial Game) 을 니무 게임으로 환원하여 승패를 판별할 수 있음을 보여줍니다. 각 상태에 할당되는 값을 그런디 수 (Grundies Number), 또는 편의상 SG 값이라고 부릅니다. SG 함수의 정의는 다음과 ...

7월 30일 17:00에 게시됨

모의 담금질 알고리즘을 이용한 최적화 문제 해결

모의 담금질(Simulated Annealing, SA)은 전역 최적해 탐색을 위한 확률 기반 휴리스틱 기법이다. 이 방법은 고온 상태에서 시작하여 점차 온도를 낮추면서 해의 공간을 탐색하며, 초기에는 덜 유리한 해도 일정 확률로 수용함으로써 국소 최적해에 빠지는 것을 방지한다. 기본적인 알고리즘 흐름은 다음과 같다: 초기 온도 \( T_0 \), 감소율 \( d \) (\( 0 < d &l ...

7월 29일 09:21에 게시됨