분류 전체보기

문제 설명재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하나의 말 위에 다른 말을 올릴 수 있다. 체스판의 각 칸은 흰색, 빨간색, 파란색 중 하나로 색칠되어있다.게임은 체스판 위에 말 K개를 놓고 시작한다. 말은 1번부터 K번까지 번호가 매겨져 있고, 이동 방향도 미리 정해져 있다. 이동 방향은 위, 아래, 왼쪽, 오른쪽 4가지 중 하나이다.턴 한 번은 1번 말부터 K번 말까지 순서대로 이동시키는 것이다. 한 말이 이동할 때 위에 올려져 있는 말도 함께 이동하며, 가장 아래에 있는 말만 이동할 수 있다. 말의 이동 방향에 있는 칸에 따라서 말의 이동이 다르며 아래와..
· Game/Unreal
Unit 클래스유닛을 초기에는 SkeletalMesh에 맞춰 애님 인스턴스를 지정하기 위해 분리하여 관리하였다.하지만, UAssetManager를 통해 Asset을 불러와 지정할 수 있기에 통합해도 된다고 생각했다.각 유닛에는 추가적으로 부착되는 SkeletalMeshComponent가 있어 이에 대한 조정이 필요했다.따라서, Rank에 따라 각 부위에 대한 AssetLoad를 요청하고 모든 Asset이 로딩되었다면 Callback을 주어 DeferredSpawn이 완료하게 되었다.UnitMeshHandle = UAssetManager::Get().GetStreamableManager().RequestAsyncLoad(UnitMeshes[UnitMeshIdx], FStreamableDelegate::Cr..
문제 설명농부 존은 남는 시간에 MooTube라 불리는 동영상 공유 서비스를 만들었다. MooTube에서 농부 존의 소들은 재밌는 동영상들을 서로 공유할 수 있다. 소들은 MooTube에 1부터 N까지 번호가 붙여진 N (1 ≤ N ≤ 5,000)개의 동영상을 이미 올려 놓았다. 하지만, 존은 아직 어떻게 하면 소들이 그들이 좋아할 만한 새 동영상을 찾을 수 있을지 괜찮은 방법을 떠올리지 못했다.농부 존은 모든 MooTube 동영상에 대해 “연관 동영상” 리스트를 만들기로 했다. 이렇게 하면 소들은 지금 보고 있는 동영상과 연관성이 높은 동영상을 추천 받을 수 있을 것이다.존은 두 동영상이 서로 얼마나 가까운 지를 측정하는 단위인 “USADO”를 만들었다. 존은 N-1개의 동영상 쌍을 골라서 직접 두 쌍..
문제 설명두 마리의 백조가 호수에서 살고 있었다. 그렇지만 두 마리는 호수를 덮고 있는 빙판으로 만나지 못한다.호수는 행이 R개, 열이 C개인 직사각형 모양이다. 어떤 칸은 얼음으로 덮여있다.호수는 차례로 녹는데, 매일 물 공간과 접촉한 모든 빙판 공간은 녹는다. 두 개의 공간이 접촉하려면 가로나 세로로 닿아 있는 것만 (대각선은 고려하지 않는다) 생각한다.아래에는 세 가지 예가 있다....XXXXXX..XX.XXX ....XXXX.......XX .....XX.......... ....XXXXXXXXX.XXX .....XXXX..X..... ......X.......... ...XXXXXXXXXXXX.. ....XXX..XXXX.... .....X.....X..... ..XXXXX..XXXXXX.. ...
· Game/Unreal
UnitURR은 숫자별로 유닛이 달라진다.예를 들어, 1은 권총을 든 군인이고 2는 라이플을 든 군인이다.각 유닛은 공격력, 사거리, 공격 속도 등 다양한 스탯을 가지고 있으며 숫자가 높을수록 강해지도록 설계하였다.     Unit 생성플레이어는 보유하고 있는 코인을 소모하여 생성할 수 있다.GE를 통해 coin을 소모하며, GA를 통해 유닛을 생성한다.GE에서 coin을 소모할 때, cost라는 메타 어트리뷰트를 사용해 확장성을 열어두었다.또한, GA에서는 확률에 따라 스폰할 유닛의 단계와 위치를 정하고 해당 타일에 Spawn요청을 한다.     Unit 초기화유닛이 생성되면 스탯을 초기화해야 한다.유닛은 각 단계에 따라 스탯이 다르며 GE를 통해 초기화한다.초기화하는 시점은 ASC가 최기화되어야 하기..
MathJax = { tex: {inlineMath: [['$', '$'], ['\\(', '\\)']]} }; 문제 설명백준이는 동생에게 "가운데를 말해요" 게임을 가르쳐주고 있다. 백준이가 정수를 하나씩 외칠때마다 동생은 지금까지 백준이가 말한 수 중에서 중간값을 말해야 한다. 만약, 그동안 백준이가 외친 수의 개수가 짝수개라면 중간에 있는 두 수 중에서 작은 수를 말해야 한다.예를 들어 백준이가 동생에게 1, 5, 2, 10, -99, 7, 5를 순서대로 외쳤다고 하면, 동생은 1, 1, 2, 2, 2, 2, 5를 차례대로 말해야 한다. 백준이가 외치는 수가 주어졌을 때, 동생이 말해야 하는 수를 구하는 프로그램을 작성하시오.      제한 사항첫째 줄..
문제 설명 이 문제는 아주 평범한 배낭에 관한 문제이다. 한 달 후면 국가의 부름을 받게 되는 준서는 여행을 가려고 한다. 세상과의 단절을 슬퍼하며 최대한 즐기기 위한 여행이기 때문에, 가지고 다닐 배낭 또한 최대한 가치 있게 싸려고 한다. 준서가 여행에 필요하다고 생각하는 N개의 물건이 있다. 각 물건은 무게 W와 가치 V를 가지는데, 해당 물건을 배낭에 넣어서 가면 준서가 V만큼 즐길 수 있다. 아직 행군을 해본 적이 없는 준서는 최대 K만큼의 무게만을 넣을 수 있는 배낭만 들고 다닐 수 있다. 준서가 최대한 즐거운 여행을 하기 위해 배낭에 넣을 수 있는 물건들의 가치의 최댓값을 알려주자. 제한 사항 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,..
· Game/Unreal
Board URR은 4 x 4의 타일을 통해 숫자(유닛)를 나타내며, 사용자 입력에 의해 해당 숫자들이 합쳐지는 형식이다. 숫자를 나타내는 타일 16개가 따로 존재하면 입력에 의해 합쳐지거나 움직이는 등의 동작이 쉽지 않을 것이다. 따라서, 타일들을 하나의 Pawn으로 묶어 관리하고 해당 클래스에서 사용자 입력을 받아 처리할 예정이다. Tile Tile은 유닛과 해당 유닛의 숫자를 나타내는 액터이다. 해당 액터에서 타일의 유닛의 포인터를 관리하여 Spawn, Destory 등을 처리한다. Board의 BeginPlay에서 총 16개의 Tile을 생성하여 이차원 배열을 통해 관리한다. 이차원 배열을 사용한 이유는 네 방향의 이동이 가능한데, 이 작업에서 간편하게 계산하기 위함이다. 또한, 유닛의 단계(1,..
문제 설명 다음과 같은 것들을 정의합니다. 어떤 수열 x의 부분 수열(Subsequence)이란, x의 몇몇 원소들을 제거하거나 그러지 않고 남은 원소들이 원래 순서를 유지하여 얻을 수 있는 새로운 수열을 말합니다. 예를 들어, [1,3]은 [1,2,3,4,5]의 부분수열입니다. 원래 수열에서 2, 4, 5를 제거해서 얻을 수 있기 때문입니다. 다음과 같은 조건을 모두 만족하는 수열 x를 스타 수열이라고 정의합니다. x의 길이가 2 이상의 짝수입니다. (빈 수열은 허용되지 않습니다.) x의 길이를 2n이라 할 때, 다음과 같은 n개의 집합 {x[0], x[1]}, {x[2], x[3]}, ..., {x[2n-2], x[2n-1]} 의 교집합의 원소의 개수가 1 이상입니다. x[0] != x[1], x[2..
문제 설명 xx 회사의 2xN명의 사원들은 N명씩 두 팀으로 나눠 숫자 게임을 하려고 합니다. 두 개의 팀을 각각 A팀과 B팀이라고 하겠습니다. 숫자 게임의 규칙은 다음과 같습니다. 먼저 모든 사원이 무작위로 자연수를 하나씩 부여받습니다. 각 사원은 딱 한 번씩 경기를 합니다. 각 경기당 A팀에서 한 사원이, B팀에서 한 사원이 나와 서로의 수를 공개합니다. 그때 숫자가 큰 쪽이 승리하게 되고, 승리한 사원이 속한 팀은 승점을 1점 얻게 됩니다. 만약 숫자가 같다면 누구도 승점을 얻지 않습니다. 전체 사원들은 우선 무작위로 자연수를 하나씩 부여받았습니다. 그다음 A팀은 빠르게 출전순서를 정했고 자신들의 출전 순서를 B팀에게 공개해버렸습니다. B팀은 그것을 보고 자신들의 최종 승점을 가장 높이는 방법으로 ..
hvv_an
'분류 전체보기' 카테고리의 글 목록 (21 Page)