TIL
TIL day 94
gbleem
2025. 5. 2. 18:27
최근 최종 팀 프로젝트 준비 및 회의로 인해서 개인 공부를 많이 진행하지 못했습니다..
1. 코딩 테스트
오랜만에 코딩테스트 문제를 풀었습니다.
이번 문제는 저번에 정리한 MST를 활용한 문제였습니다.
https://gbleem.tistory.com/170
MST
참고자료https://blog.encrypted.gg/1024 [실전 알고리즘] 0x1B강 - 최소 신장 트리안녕하세요, 오늘 다룰 주제는 최소 신장 트리(Minimum Spanning Tree)라는 개념입니다. 보통 코딩 좀 치는 사람들 사이에서는 MS
gbleem.tistory.com
문제는 백준 class 5 "도시 분할 계획" 입니다.
https://www.acmicpc.net/problem/1647
코드
- MST 기본 코드에 한가지 조건만 추가해 주어서 풀었습니다.
- 선택된 경로들 중 가장 높은 cost의 경로를 저장하여, 전체 cost에서 빼주면 됩니다.
#include <iostream>
#include <tuple>
#include <vector>
#include <algorithm>
using namespace std;
int n, m;
tuple<int, int, int>edge[1000002];
vector<int> parent(100'002, -1);
int find(int x)
{
if (parent[x] < 0)
return x;
return parent[x] = find(parent[x]);
}
bool diff(int u, int v)
{
u = find(u);
v = find(v);
if (u == v)
return 0;
if (parent[u] == parent[v])
parent[u]--;
if (parent[u] < parent[v])
parent[v] = u;
else
parent[u] = v;
return 1;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n >> m;
for (int i = 0; i < m; ++i)
{
int a, b, cost;
cin >> a >> b >> cost;
edge[i] = { cost, a, b };
}
sort(edge, edge + m);
int cnt = 0;
int ans = 0;
int maxCost = -1;
for (int i = 0; i < m; ++i)
{
int a, b, cost;
tie(cost, a, b) = edge[i];
if (!diff(a, b))
continue;
ans += cost;
maxCost = max(cost, maxCost);
cnt++;
if (cnt == n - 1)
break;
}
cout << ans - maxCost;
}
2. 언리얼 엔진
중간에 시간을 조금씩 내서 데디케이트 서버관련 공부를 조금 진행하였습니다.
저번 프로젝트때 구현해 보았던 내용이라 간단하게만 정리를 해보았습니다.
https://gbleem.tistory.com/174
Unreal Engine - 데디케이티드 서버 8 (게임 흐름)
1. PlayerController타이틀 전용 컨트롤러 및 맵 추가 동작 모습게임 시작 전 start 화면 구현Start 버튼을 누르면 Join Server 수행 구조Title Level (새로운 레벨 추가)GameModeBase_Title (새로운 GameMode 추가)DXTitleP
gbleem.tistory.com
구현된 내용
- 접속 하는 화면
- 접속 후 Game의 상태를 변경해주는 시스템
- 상태를 띄워주는 UI
3. 팀 프로젝트
팀 프로젝트로는 보스 몬스터 구현을 담당하게 되었습니다.