반응형

분류 전체보기 288

[알고리즘] Monotonic Stack

개요 자신보다 큰 값(혹은 작은 값)이 언제 처음 오는지에 대해 구해야 할 때, 가장 쉽게 떠올릴 수 있는 방법은 2중 for 문을 쓰는 것이다. 예를 들어 다음과 같이 숫자가 있다고 할 때 3 4 1 5 2 각각의 숫자에 대해 그 수보다 큰 수가 처음 등장하는 인덱스(0부터 시작)를 나타내면 다음과 같다. num : 3(1) 4(3) 1(3) 5(x) 2(x) 2중 포문을 사용하게 되면, n개의 원소에 대해 시간 복잡도는 O(n^2)이다. 이를 스택을 사용하면 한 번만 순회를 돌면서, 즉 O(n)만에 자신보다 큰 인덱스를 찾을 수 있다. Monotonic Stack monotonic stack의 원리는 간단하다. stack에 들어있는 원소가 내림차순(혹은 오름차순)이 되게 정리만 해주면 된다. 1. 즉..

알고리즘 2023.11.30

[소스트리] 오류: System.ComponentModel.Win32Exception: 지정된 파일을 찾을 수 없습니다

개요 새 저장소를 만들고 싶어서 Clone을 위해 주소를 가져왔다. 유효한 소스 경로/URL이 아니라고 뜬다. 탐색을 눌러보니 뭔가 파일을 찾을 수가 없다. 찾아보니 Git을 내장으로 사용해서 발생하는 문제라고 한다. 해결책 도구 -옵션으로 들어간다 System Git을 사용한다. 저장소를 다시 정상적으로 찾을 수 있었다.

2023.11.14

[게임 리뷰] 세븐나이츠 키우기

요새 커리어 고민이 많은데, 모바일 쪽으로 계속 경력을 이어나가고 싶다. 개발도 개발이지만, 시장 상황은 알아야 해서 좀 규모가 있는 회사들의 모바일 게임을 찍먹해봐야하지 않을까 생각했다. 그러던 와중 회사 다른 부서에서 유사 장르로 경계하던 세나키우기를 레퍼런스 조사 겸 해보게되었다. 예전에 초등학교 때인가 중학교 때인가 기억은 잘 안 나는데 세븐나이츠를 꽤나 오래 했어서 캐릭터들도 다 아는 얼굴이였다. 진행은 방치형 게임이니만큼 엄청 단순했다. 메인 스토리가 있지만, 큰 의미를 가지진 않았다. 보스를 잡으면 다음 스테이지로 넘어가는 구성이다. 보스 패턴은 크게 보면 다음과 같았다. 1. 보스 한 마리 : 나중에는 연타 공격를 하거나 저주(회복 불가)를 거는 패턴도 있어서 맞춤 조합이 필요했다. 2. ..

게임/모바일 2023.11.09

[프로그래머스 131130] 혼자 놀기의 달인 C#

문제 프로그래머스 131130 혼자 놀기의 달인 C# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문제 설명이 너무 장황하게 되어 있어서... 처음에 독해가 힘들었는데 그냥 간단히 말하면 카드에 적혀있는 숫자를 인덱스로 생각해서 루프를 돌고, 루프 중 제일 긴 것과 그 다음으로 긴 것의 곱만 구하면 되는 문제이다. 루프를 돌 때 어디를 출발지점으로 지정하느냐가 중요할 거 같았는데 생각해보니 카드 숫자는 중복이 없으므로 무조건 순회하는 루프를 만들게 된다. (즉, 루프의 어디서든 시작해도 길이가 항상 똑같음) 그래서 방문 체크를 하는 리스트 visi..

[방탈출] Let's Play (렛츠 플레이) 후기

테마 정보 항상 시끌벅적하고 기쁨이 넘치던 왕국에 어느날 갑자기 대우울이 찾아왔다. https://www.xphobia.net/quest/quest_view.php?qr_id=1606978532 방탈출카페 비트포비아 탈출의 경계를 무너뜨리다, 비트포비아! 방탈출부터 어메이징 던전까지 다양한 어드벤처를 경험해보세요! www.xphobia.net 정보(매장) 장르 : 판타지 시간 : 60분 난이도 : 2 / 5 추천인원 : 2 ~ 5 players 2인, 3 Hint, 00:12 Left 난이도 난이도 높은 문제는 없고, 단순 자물쇠보다는 기기를 조작하여 푸는 문제가 많다. 자물쇠와 장치 문제 모두 지문이 꽤 긴편인데, 초조해하면 더 풀기 힘들다. 차근차근 읽으면서 하나하나 진행하는 것이 좋다. 생각보다 어..

방탈출 2023.09.26

[SourceTree] Visual Studio 및 소스 트리 한글 깨짐 수정 및 UTF-8 설정하기

개요 소스트리에서 주석 등을 작성할 때 한글 깨짐 오류를 수정한 기록을 남긴다. 본문 먼저 프로젝트에서 어떤 한글 인코딩 방식을 사용하는지 먼저 확인해줘야 한다. 프로젝트에서 UTF-8을 사용하기로 약속되어 있었으므로 Visual Studio와 소스 트리 모두 기본 설정을 UTF-8로 해줄 필요가 있었다. Visual Studio와 Unity를 사용했었고 Visual Studio 세팅은 다음과 같이 UTF-8로 인코딩 되어 있었다. Visual Studio에서 인코딩을 확인하는 방법은 .editorconfig파일을 확인하면 된다. root = true 및 [*] 밑에 charset = utf-8을 적어주면 utf-8로 인코딩 된다. 혹시라도 이렇게 했는데 한글이 깨져 보이는 경우에는 도구 - 옵션 - 텍..

2023.07.25

[Unity] Gpt를 활용한 가변 슬라이더 만들기

개요 가변 슬라이더를 만들어야 했는데... 다 만들고 난 뒤 GPT를 사용해 리팩토링한 경험을 공유한다. 니즈 원래 위와 같은 슬라이더가 있었다. 작은 흰색 동그라미가 50 단위로 있었는데, 보상 단위마다는 흰색 큰 동그라미를 넣어주었다. 이 슬라이더를 보상 간격이 일정하게 바꿔달라고 요청이 들어왔는데, 그러면 보상 단위마다 슬라이더가 차는 비율을 조정해야했다. 구현 QuestData = 현재 퀘스트 정보를 저장하고 있는 클래스 rewardData = 포인트 리워드 정보를 가지고 있는 클래스 int rewardDatesLength = rewardDatas.Count(); int rewardStep = 0; for (int idx = 0; idx < rewardDatesLength; idx++) { if ..

게임 엔진/Unity 2023.07.19

[DirectX11] Index 버퍼 생성하기

개요 DirectX11에서 Vertex 버퍼를 생성하는 방법에 대해 서술한다. 이 내용은 DirectX11을 이용한 3D게임 프로그래밍 입문의 내용을 읽고 정리했습니다. 예제 코드 Index 버퍼를 생성하는 것은 Vertex 버퍼를 생성하는 것과 비슷하다. Index 버퍼를 서술하는 구조체를 채우고, 데이터를 지정한다. 생성한 구조체와 데이터로 Index 버퍼를 생성한다. 생성 이후에는 Index 버퍼를 파이프라인에 묶어줘야 한다. 묶는 데에는 ID3D11DeviceContext의 IASetIndexBuffer를 사용한다. Format : Index의 형식을 뜻한다. 여기서는 부호 없는 정수를 사용하므로 DXGI_FORMAT_R32_UINT를 사용한다. 이 형식은 D3D11_BUFFER_DESC::Byt..

Dx11 2023.06.20

[DirectX11] Vertex 버퍼 생성하기

개요 DirectX11에서 Vertex 버퍼를 생성하는 방법에 대해 서술한다. 이 내용은 DirectX11을 이용한 3D게임 프로그래밍 입문의 내용을 읽고 정리했습니다. Vertex 정보 사용자 지정 Vertex 형식을 만들려면 Vertex를 담을 구조체를 정의해야 한다. 구조체를 정의했다면, Vertex 구조체의 성분(필드)이 어떤 용도인지 Direct3D에게 알려주어야 한다. ID3D11InputLayout 객체를 사용한다. 이 객체는 D3D11_INPUT_ELEMENT_DESC 구조체로 이뤄진 배열을 통해 구축한다. 구조체 성분이 두 개면, D3D11_INPUT_ELEMENT_DESC 배열의 원소도 두 개여야 한다. D3D11_INPUT_ELEMENT_DESC 구조체의 성분은 다음과 같다. Sema..

Dx11 2023.06.09

[DirectX11] DirectX11초기화

개요 DirectX11을 Visual Studio에서 초기화하는 방법에 대해 서술한다. 이 내용은 DirectX11을 이용한 3D게임 프로그래밍 입문의 내용을 읽고 정리했습니다. 초기화 해줘야 하는 것들 1. ID3D11Device, ID3D11DeviceContext : D3D11CreateDevice 함수를 사용해 생성 2. 스왑 체인의 특성을 서술하는 DXGI_SWAP_CHAIN_DESC 구조체 채우기 3. IDXGIFactory를 사용해 IDXGISwapChain 인스턴스 생성 4. 스왑 체인의 백 버퍼에 대한 렌더 타겟 뷰 생성 5. 깊이/스텐실 버퍼와 여기에 연결되는 깊이/스텐실 버퍼 뷰 생성 6. 렌더 타켓 뷰와 깊이/스텐실 뷰를 DirectX3D가 사용할 수 있도록 렌더링 파이프라인의 Ou..

Dx11 2023.05.31
반응형