전체 글

Hello World!
· Algorithm
https://www.acmicpc.net/problem/7569이전에 자주 풀어본 bfs 문제이다.다른 문제와 차이가 있다면, 지금까지는 2차원으로 문제를 해결하였는데이번 문제에서 주어진 보기는 3차원으로 해결해야한다.  코드 #include #include using namespace std;int arr[101][101][101]; // 3차원 배열로 변경하여 상자의 개수를 포함시킴int M, N, H;int dx[6] = { 0, 1, 0, -1, 0, 0 }; // 상자의 위, 아래로 이동하는 방향 추가int dy[6] = { 1, 0, -1, 0, 0, 0 };int dz[6] = { 0, 0, 0, 0, 1, -1 }; // 쌓아올려진 상자의 이동은 z축 방향으로 추가int day = 0;v..
· Algorithm
https://www.acmicpc.net/problem/1107 브루트포스 알고리즘을 사용하여, 일일히 계산하였다.이때 시작 채널은 100이므로, 100에서 목표 채널을 뺀 수와, 근사치를 구해 횟수를 카운트 한 수를 비교해더 적은 수를 최종 결과로 출력한다.  코드#include #include #include #include #include #include using namespace std;int countDigits(int target, int number) { //횟수 //카운트 비교군 a,b / 이 중 비교하여 카운트가 적은 수를 선택한다. int count_a = abs(target - number); //목표 값 - 근삿값 = 횟수 int count_b = abs(100..
· Algorithm
https://www.acmicpc.net/problem/16971차원 선에서 수빈이는 문제에 나온대로 이동한다. BFS를 사용해서 계산한다.초기 큐에 좌표 N을 넣고, 비어있을 때 까지 반복하며 동생(K) 좌표를 찾는다.코드 #include #include using namespace std;int N, K; // N: 수빈이의 위치, K: 동생의 위치bool visited[100001]; // 방문한 위치를 기록할 배열void bfs(int a) { queue> q; // BFS를 위한 큐. 각 원소는 (위치, 시간)을 나타냄 q.push(make_pair(a, 0)); // 수빈이의 현재 위치와 시간 0을 큐에 넣음 while (!q.empty()) { // 큐가 빌 때까지 반복 ..
· Algorithm
https://www.acmicpc.net/problem/5525이 문제는 Pn이 몇 군데 포함 되어 있는지 구하는 문제이다. Pn은 N+1개의 I와 N개의 O로 이루어져 있다.마지막에 무조건 I가 나온다는 점을 이용하여 문자열로 코드를 구현하였다.  코드#include #include using namespace std;int N, M;int main() { string S; // 입력 받기 OOIOIOIOIIOII(13) cin >> N; //Pn cin >> M; //입력 글자 수, 반복문에 사용한다 cin >> S; //입력 int count = 0; //몇 군데 포함되어있는지 카운트 for (int i = 0; i 설명주어진 문자열에서 특정 패턴의 반복을..
· Algorithm
https://www.acmicpc.net/problem/16928뱀과 사다리 게임을 플레이할 때, 1번 칸에서 100번 칸까지 도착하기 위해 주사위를 최소로 굴린 횟수를 구하는 문제이다.이때 여기서 주어진 입력은 사다리와 뱀의 정보가 주어진다.  최단 경로를 찾아야 하며, 그러기 위해서는 모든 칸을 탐색해야 하고, 방문한 칸을 체크하여 중복으로 방문하는 것을 막아야하니 BFS로 계산하는게 효율적이겠다고 판단하여 BFS로 구현하였다.  코드#include #include #include #include // INT_MAX 사용을 위해 추가using namespace std;vector> ladder;vector> snake;vector moves(101, INT_MAX); // 칸 별 이동 횟수를 저장..
현재 프로젝트에서 플레이어(Aura)의 속성은 총 8개로 구성되어 있다. (Health, MaxHealth, Mana, MaxMana, Vigor(활력), Strength(힘), Resilience(재생력), Intelligence(주문력)) 이 속성에 따라 현재 속성이 수정될 수 있게 하는 방법이 있다. 먼저 테스트하기 위해 테스트에 필요한 액터를 생성한다. BP_TestActor - Parent Class : AuraEffectActor GE_TestAttributeBased - Parent Class : GameplayEffect Gameplay Effect Class를 GE_TestAttributeBased로 설정하고, 게임 내에서 명확하게 확인하기 위해 윤곽선 굵기를 늘리고 (Line Thick..
· Algorithm
https://www.acmicpc.net/problem/1012 이 문제는 연결된 영역을 찾는 문제로 볼 수 있다. 배추들이 인접해있는 영역을 찾고 각 영역에 대해 최소한의 배추흰지렁이의 수를 계산하면 된다. 코드 #include #include using namespace std; void dfs(vector& field, int x, int y, int m, int n) { //값이 음수이거나, 행렬을 벗어나거나, 이미 방문한 노드, 즉 배추가 없다면 탐색하지 않는다. if (x = m || y = n || field[x][y] == 0) { return; } field[x][y] = 0; // 이미 방문한 배추는 0으로 표시 // 상하좌우로 이동하며 배추가 있는..
· Etc.
BaekJoon 1931 회의실 배정 문제 https://alsrudwls.tistory.com/18 #include #include #include using namespace std; int main() { int n; cin >> n; vector list; for (int i = 0; i > start >> end; list.push_back(make_pair(end, start)); } sort(list.begin(), list.end()); int time = list[0].first; int count = 1; for (int i = 1; i = time) { count++; ..
· Algorithm
https://www.acmicpc.net/problem/1931 이 문제는 회의실을 최대한 활용하여 겹치지 않는 회의를 많이 배정하는 것을 목표로 한다. 이런 유형의 문제는 그리디 알고리즘을 활용하여 효율적으로 해결이 가능하다. 코드 #include #include #include using namespace std; int main() { int n; cin >> n; vector list; for (int i = 0; i > start >> end; list.push_back(make_pair(end, start)); } sort(list.begin(), list.end()); int time = list[0].first; int count..
아우라 프로젝트를 진행하면서 GAS 프레임워크에 대해 접하게 되었다. 난생 처음보는 프레임워크라 여러 문서를 찾아보다가 어떤 한 개발자가 깃허브에 GAS 라이브러리를 정리해 커밋해 놓은 걸 발견하였다. 이를 토대로 GAS에 대해서 정리하겠다. https://github.com/tranek/GASDocumentation?tab=readme-ov-file#intro 1. GameplayAbilitySystem 플러그인 소개 공식 문서에 따르면: 게임플레이 능력 시스템은 RPG나 MOBA 타이틀에서 볼 수 있는 유형의 능력과 속성을 구축하기 위한 매우 유연한 프레임워크입니다. 게임 내 캐릭터가 사용할 액션이나 패시브 능력, 이러한 액션의 결과로 다양한 속성을 구축하거나 약화시킬 수 있는 상태 효과, "재사용 ..
alsrudwls01
Develop.Log