분류 전체보기

문제 설명 2진 트리 모양 초원의 각 노드에 늑대와 양이 한 마리씩 놓여 있습니다. 이 초원의 루트 노드에서 출발하여 각 노드를 돌아다니며 양을 모으려 합니다. 각 노드를 방문할 때 마다 해당 노드에 있던 양과 늑대가 당신을 따라오게 됩니다. 이때, 늑대는 양을 잡아먹을 기회를 노리고 있으며, 당신이 모은 양의 수보다 늑대의 수가 같거나 더 많아지면 바로 모든 양을 잡아먹어 버립니다. 당신은 중간에 양이 늑대에게 잡아먹히지 않도록 하면서 최대한 많은 수의 양을 모아서 다시 루트 노드로 돌아오려 합니다. 예를 들어, 위 그림의 경우(루트 노드에는 항상 양이 있습니다) 0번 노드(루트 노드)에서 출발하면 양을 한마리 모을 수 있습니다. 다음으로 1번 노드로 이동하면 당신이 모은 양은 두 마리가 됩니다. 이때..
· Game/Unreal
글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어 콤보 공격 지난 포스팅에 이어 GAS를 통한 캐릭터 입력을 처리하는 부분에서 콤보 공격까지 가능하게 구현하는 것이 이번 목표이다. 이전과 크게 다르지 않다. InputPressed가 있을 때, 시간 내에 들어온 입력인지 확인하기만 하면 된다. 동작 원리는 다음과 같다. AT가 Activate될 때 콤보를 체크할 타이머를 발동시킨다. InputPressed가 실행되면 콤보타이머가 유효하다면 콤보 여부를 true로 설정한다. 타이머가 발동되면 콤보 입력이 들어왔는지를 체크한다. 입력이 들어왔다면 타이머를 다시 발동하고 그렇지 않다면 해제하고 종료한다. 콤보 애니메이션 콤보 공격..
문제 설명 당신은 1~n 사이의 수가 적힌 카드가 하나씩 있는 카드 뭉치와 동전 coin개를 이용한 게임을 하려고 합니다. 카드 뭉치에서 카드를 뽑는 순서가 정해져 있으며, 게임은 다음과 같이 진행합니다. 처음에 카드 뭉치에서 카드 n/3장을 뽑아 모두 가집니다. (n은 6의 배수입니다.) 당신은 카드와 교환 가능한 동전 coin개를 가지고 있습니다. 게임은 1라운드부터 시작되며, 각 라운드가 시작할 때 카드를 두 장 뽑습니다. 카드 뭉치에 남은 카드가 없다면 게임을 종료합니다. 뽑은 카드는 카드 한 장당 동전 하나를 소모해 가지거나, 동전을 소모하지 않고 버릴 수 있습니다. 카드에 적힌 수의 합이 n+1이 되도록 카드 두 장을 내고 다음 라운드로 진행할 수 있습니다. 만약 카드 두 장을 낼 수 없다면 ..
· Game/Unreal
캐릭터 입력 GAS를 이용하면 원하는 시점에 부여한 Ability를 실행시킬 수 있다. 이를 캐릭터 입력에 적용하는 법을 알아보자. UE5는 기본적으로 EnhancedInput을 이용하여 캐릭터에서 입력을 처리한다. 샘플 프로젝트를 열어보면 캐릭터에 점프까지 구현이 되어 있을 것이다. 이번 예시에서는 GAS를 이용하여 점프나 공격 같은 특수한 행동을 실행하도록 설계할 것이다. 물론 캐릭터에서도 구현할 수 있지만 그렇게 하면 캐릭터 클래스의 코드가 방대해져 관리가 힘들 수 있다. 또한, 특수한 기능이나 효과를 넣고 싶을 때 불필요한 의존성이 발생할 수도 있다. 따라서, GAS를 통해 Ability로 분리하여 관리하는 것이 효과적일 것이라는 생각이 든다. 캐릭터 설계 GAS를 적용하려면 AbilitySyst..
문제 설명 XX산은 n개의 지점으로 이루어져 있습니다. 각 지점은 1부터 n까지 번호가 붙어있으며, 출입구, 쉼터, 혹은 산봉우리입니다. 각 지점은 양방향 통행이 가능한 등산로로 연결되어 있으며, 서로 다른 지점을 이동할 때 이 등산로를 이용해야 합니다. 이때, 등산로별로 이동하는데 일정 시간이 소요됩니다. 등산코스는 방문할 지점 번호들을 순서대로 나열하여 표현할 수 있습니다. 예를 들어 1-2-3-2-1 으로 표현하는 등산코스는 1번지점에서 출발하여 2번, 3번, 2번, 1번 지점을 순서대로 방문한다는 뜻입니다. 등산코스를 따라 이동하는 중 쉼터 혹은 산봉우리를 방문할 때마다 휴식을 취할 수 있으며, 휴식 없이 이동해야 하는 시간 중 가장 긴 시간을 해당 등산코스의 intensity라고 부르기로 합니다..
문제 설명 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요. 제한 사항 arr은 길이 1이상, 15이하인 배열입니다. arr의 원소는 100 이하인 자연수입니다. 풀이 문제는 정말 간단하다. n개의 수가 주어지면 n개의 최소공배수를 구하면 된다. 풀이법은 두 수의 최소공배수를 구하는 문제를 확장하면 되는 것이다. 두 수의 최소공배수를 구하는 법은 다음..
· Game/Unreal
GAS 동작원리 GAS를 적용하기 위해서는 기본적인 규칙을 지켜야 한다. GAS를 적용할 액터에 AbilitySystemInterface의 GetAbilitySystemComponent()를 구현해야 한다. GetAbilitySystemComponent에서는 액터가 소유한 ASC(AbilitySystemComponent)를 return 해줘야 한다. 이렇게 설정된 ASC에 Ability를 부여하고 원하는 타이밍에 Ability를 발동시키면 된다. 간단한 예를 들어보자. 어떤 액터가 게임이 시작함과 동시에 계속하여 반복하는 행위를 한다고 가정해보자. 그렇다면 반복되는 행위를 Ability로 만들고 BeginPlay나 특정한 시점에 Abiltiy를 활성화시키면 된다. 예시 앞에서 말한 대로 예시를 만들어보자..
· Game/Unreal
GAS란? GAS란 Game Ability System의 줄임말로 액터가 소유하고 발동할 수 있는 어빌리티 및 액터 간의 인터렉션 기능을 제공하는 프레임워크이다. GAS는 데이터를 기반으로 동작하며 모듈화되어 확장성이나 유연성이 좋다. 또한, 네트워크 멀티플레이를 지원하기도 한다. 이러한 이유로 GAS는 게임을 보다 효율적으로 제작할 수 있도록 해준다. GAS 구성 요소 GAS의 핵심 요소는 위의 사진과 같다. 각각의 요소들이 어떠한 역할을 하는지 간단하게 정리하면 다음과 같다. ASC: Ability System을 관리하는 중앙처리장치 같은 역할을 한다. Tag: GAS를 간편하게 관리하게 해주는 구분자 GA: 게임 내에서 일어나는 액션 GE: GA의 결과로 Attibute에 주는 영향 Attribut..
문제 설명 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요. 성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다. 예를 들어, 문자열 S = baabaa 라면 b aa baa → bb aa → aa → 의 순서로 문자열을 모두 제거할 수 있으므로 1을 반환합니다. 제한 사항 문자열의 길이 : 1,000,000이하의 자연수 문자열은 모두 소문자로 이루어져 있습니다...
문제 설명 OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈트는 건전지로 작동되는데, 순간이동을 하면 건전지 사용량이 줄지 않지만, 앞으로 K 칸을 점프하면 K 만큼의 건전지 사용량이 듭니다. 그러므로 아이언 슈트를 착용하고 이동할 때는 순간 이동을 하는 것이 더 효율적입니다. 아이언 슈트 구매자는 아이언 슈트를 착용하고 거리가 N 만큼 떨어져 있는 장소로 가려고 합니다. 단, 건전지 사용량을 줄이기 위해 점프로 이동하는 것은 최소로 하려고 합니다. 아이언 슈트 구매자가 이동하려는 거리 N이 주어졌을 때, 사용해야 하는 건전지 사용량의 최솟값을 return..
hvv_an
'분류 전체보기' 카테고리의 글 목록 (25 Page)