백준 1941번 - 소문난 칠공주
문제 백준 1941번 문제
문제 백준 1941번 문제
문제 백준 16987번 문제
문제 백준 6603번 문제
문제 백준 15666번 문제
문제 백준 15665번 문제
문제 백준 15664번 문제
문제 백준 15663번 문제
문제 백준 15657번 문제
문제 백준 15656번 문제
문제 백준 15655번 문제
문제 백준 15654번 문제
문제 백준 15652번 문제
문제 백준 9663번 문제
문제 백준 15651번 문제
문제 백준 1182번 문제
문제 백준 15650번 문제
문제 백준 15649번 문제
문제 백준 2630번 문제
문제 백준 2448번 문제
문제 백준 2447번 문제
문제 백준 1992번 문제
문제 백준 17478번 문제
문제 백준 1629번 문제
문제 백준 11729번 문제
문제 백준 1074번 문제
문제 백준 1780번 문제
문제 백준 17478번 문제
문제 백준 7569번 문제
문제 백준 2573번 문제
문제 백준 2206번 문제
문제 백준 2146번 문제
문제 백준 9466번 문제
문제 백준 7562번 문제
문제 백준 4179번 문제
문제 백준 7576번 문제
문제 백준 2178번 문제
문제 백준 1926번 문제
문제 백준 1697번 문제
문제 백준 1600번 문제
문제 백준 13549번 문제
문제 백준 1012번 문제
문제 백준 1012번 문제
문제 백준 10026번 문제
문제 백준 5430번 문제
문제 백준 1021번 문제 지민이는 N개의 원소를 포함하고 있는 양방향 순환 큐를 가지고 있다. 지민이는 이 큐에서 몇 개의 원소를 뽑아내려고 한다.
문제 백준 2493번 문제
문제 백준 1874번 문제
문제 백준 10799번 문제
문제 백준 5397번 문제
문제 백준 1406번 문제
문제 백준 1158번 문제
공간복잡도를 올리고 시간복잡도를 내리는 방법 결과와 매칭되는 큰 배열을 추가로 선언해서 시간복잡도 O(n^2)에서 O(n)으로 변경
getline 함수를 이용 공백이 담긴 문자를 입력받아야 할 때
1. UI 생성과정 Player화면에 관련된 정보를 Player Controller가 가지고 있다. 그래서 Player의 정보를 띄워주는 UI는 Player controller에서 생성하게 됨
참고 : 이득우Framework_11_행동트리 모델의 이해
1. 행동트리 이론
1. 엑셀에서 데이터 읽어오기 FTableRowBase 상속받은 구조체 생성 엑셀의 Name Column을 제외한 나머지들을 UPROPERY 속성으로 선언 엑셀 데이터를 csv로 변경 후 언리얼에 import
1. OnConstruction 에디터에서 어떤 셋팅값을 바꿨을 때 호출되는 함수이다. 여기서는 Current State를 바꾸면 호출됨
1. ItemBox 충돌 설정 1-1. 충돌전 선언 ```cpp …
1. 위젯 구조
1. Collision Channel 추가 1-1. Project Settings > Collision > Trace Channels 에서 추가
1. 애니메이션 몽타주란?
1. 전체 구조
1. 에디터 Play 에서 수치확인 DisplayAll PlayerController ControlRotation
1. 액터의 구조 다수의 컴포넌트를 가지고 있다 대표하는 Component를 Root Component라고 함 Actor의 transform은 Root Component의 Transform과 같다
언리얼 게임 제작 시 기초
1. 언리얼 엔진 소스 풀 빌드 전체과정 전체과정 참고
1. Timeline? 특정 값을 변화시킬 때 해당 값의 변화 곡선 즉, 기울기를 Editor에서 손쉽게 조정할 수 있게 하는 Unreal 기능 보통 Blueprint에서 많이 구현하지만 이걸 C++로 구현할 수도 있다. 2. Curve 생성
1. 사용이유 특정 객체가 FGameplayTagContainer를 가지고 있을 때 IGameplayTagAssetInterface 를 상속시키면 해당 객체가 소유한 GameplayTag에 관해서 여러 방식으로 접근할 수 있다 2. IGameplayTagAss...
언리얼엔진의 각 종 구조를 서술
패키지에 대해서 알아보고 패키지나 에셋을 불러오는 구조에 관해 서술
Serialization(직렬화)의 개념
Unreal의 가비지 컬렉션에 대한 문서
TArray, TSet의 특징에 대한 문서
발행 구독(옵저버)패턴을 이용하기 위해 델리게이트를 사용
어떤 오브젝트에 다른 오브젝트를 has-a 관계로 추가하는 것을 컴포지션이라고 함
Unreal에서 지원하는 Interface에 관한 문서
언리얼 오브젝트의 리플렉션 시스템에 관해서 서술
UObject를 생성할 때 생성되는 파일들과 문구에 관한 문서
Bool 타입의 선언 Bool을 선언할 때 주의점
1. 행동트리 기본 이론 행동트리의 기본 노드 등의 이론은 행동트리 개론 참고 2. Build.cs 내용추가 Build.cs 파일에 모듈을 추가해야 함 3. Decorator C++ virtual bool CalculateRawConditionValue(UBehavi...
1. AI Perception? AI가 Player를 인식할 수 있게하는 시스템이다 거리, 및 시야, 데미지를 받았을 때 등의 상황에서 Player를 인식하고 Behavior Tree와 연계할 수 있게 한다
1. Lambda 활용 FTimerHandle deathTimer; GetWorld()->GetTimerManager().SetTimer(deathTimer, FTimerDelegate::CreateLambda([&]() { if (IsValid(CombatCom...
1. Niagara unreal 5에서 새롭게 추가된 이팩트 시스템이다. 기존 Cascade Effect를 대체
1. BlueprintNativeEvent
1. 충돌시스템 어떤 방식으로 충돌했을 때 데미지를 입히는 경우 언리얼의 Damage 시스템을 이용하면 Damage를 쉽게 주고 받을 수 있다
1. Gameplay Tag? 계층 구조가 있는 Enum. Unreal에서 추가된 시스템이다.
1. 개요 전체적인 작업의 큰 틀은 다음 3단계로 이루어진다 2. UMG Blueprint 배치 2-1. Widget BluePrint를 생성
1. 언리얼 엔진 소스 풀 빌드 전체과정 전체과정 참고
1. 프로젝트 기본 셋팅 1-1. Level 생성 및 설정 1-2. Gamemode 생성 1-3. Player 생성 1-4. Blueprint로 Gamemode 및 Player 상속 후 생성
기본 구조
언리얼에서 c++로 작업할 때 변경점 적용하는 법
Actor와 관련된 기본적인 부분 정리
1. VS 들여쓰기 셋팅 1-1. Visual Studio 기본환경 셋팅 1-2. 들여쓰기 셋팅 Visual Commander 셋팅 https://vlasovstudio.com/visual-commander/ ue4vstool 설치 https://github...
1. UI 생성과정 Player화면에 관련된 정보를 Player Controller가 가지고 있다. 그래서 Player의 정보를 띄워주는 UI는 Player controller에서 생성하게 됨
참고 : 이득우Framework_11_행동트리 모델의 이해
1. 행동트리 이론
1. 엑셀에서 데이터 읽어오기 FTableRowBase 상속받은 구조체 생성 엑셀의 Name Column을 제외한 나머지들을 UPROPERY 속성으로 선언 엑셀 데이터를 csv로 변경 후 언리얼에 import
1. OnConstruction 에디터에서 어떤 셋팅값을 바꿨을 때 호출되는 함수이다. 여기서는 Current State를 바꾸면 호출됨
1. ItemBox 충돌 설정 1-1. 충돌전 선언 ```cpp …
1. 위젯 구조
1. Collision Channel 추가 1-1. Project Settings > Collision > Trace Channels 에서 추가
1. 애니메이션 몽타주란?
1. 전체 구조
1. 에디터 Play 에서 수치확인 DisplayAll PlayerController ControlRotation
1. 액터의 구조 다수의 컴포넌트를 가지고 있다 대표하는 Component를 Root Component라고 함 Actor의 transform은 Root Component의 Transform과 같다
언리얼 게임 제작 시 기초
언리얼엔진의 각 종 구조를 서술
패키지에 대해서 알아보고 패키지나 에셋을 불러오는 구조에 관해 서술
Serialization(직렬화)의 개념
Unreal의 가비지 컬렉션에 대한 문서
TArray, TSet의 특징에 대한 문서
발행 구독(옵저버)패턴을 이용하기 위해 델리게이트를 사용
어떤 오브젝트에 다른 오브젝트를 has-a 관계로 추가하는 것을 컴포지션이라고 함
Unreal에서 지원하는 Interface에 관한 문서
언리얼 오브젝트의 리플렉션 시스템에 관해서 서술
UObject를 생성할 때 생성되는 파일들과 문구에 관한 문서
Bool 타입의 선언 Bool을 선언할 때 주의점
1. move template <class _Ty> constexpr remove_reference_t<_Ty>&& move(_Ty&& _Arg) noexcept { return static_cast<remove_ref...
1. Placement New란? 미리 할당된 공간에 프로그래머가 객체를 생성 및 초기화를 해줄 수 있는 문법 메모리 풀을 구현할 때 해당 방식을 사용한다 2. Placement New 설명 <new>헤더를 포함시켜줘야 사용 가능
1. std::string_view C++ 17부터 추가된 string을 복사없이 사용할 수 있게 하는 문법
1. 유니폼 초기화(Uniform Initialization) 기존 초기화식의 모호성을 회피하기 위해 생긴 문법
1. 템플릿 메타함수 템플릿 메타함수란?
1. SFINAE Substitution Failure Is Not an Error
1. Type이 아닌 Template 인자값 Template에 Type이 아닌 값을 전달해줄 수 있다. ```cpp #include
1. 정의 <utility> 에 정의된 함수 std::declval
1. constexpr 참고링크 : https://modoocode.com/293
Modern Cpp에서 추가된 개념 중 중요한 Rvalue Lvalue 에 관해 서술
0. 참고문서 해당 문서 먼저 숙련 후 참고 1. 사용상의 주의사항 스마트포인터를 사용하면 temlpate란에 *를 붙이지 않지만 포인터로 선언되는 것을 항상 염두해야 한다.
C 기반의 Raw pointer에서 일어나는 여러가지 문제점을 해소하기 위해 나온 포인터
1. C++ 고유 리터럴 C++에는 코드에 직접 삽입된 값, 변경할 수 없으므로 상수라고 불림
1. reinterpret_cast 포인터>포인터, 포인터 > 일반변수, 일반변수 >포인터 자료형을 바꿀 수 있는 Cast 형변환이 이뤄지면 해당 자료형의 bit수에 맞게 들어간다 void* 로 전달할 수 있는 유일한 Casting struct에 있...
1. auto의 타입추론 auto 는 기본적으로 C++의 긴 타입들을 짧게 변환할 수 있지만 auto의 타입추론은 몇가지의 상황에서 100%로 정밀하지 않다. 그리고 auto의 타입추론은 template의 타입추론과 똑같다.
1. 기본정의 포인터와는 다르게 Reference는 변수에 별명을 하나 더 추가하는 식 따라서 초기화 할 때 대상을 필수로 지정해주어야 하며 바꿀 수 없다
1. RVO와 NRVO란? RVO = Return Value Optimization
SOLID 원칙이란?
문제 백준 1941번 문제
문제 백준 16987번 문제
문제 백준 6603번 문제
문제 백준 15666번 문제
문제 백준 15665번 문제
문제 백준 15664번 문제
문제 백준 15663번 문제
문제 백준 15657번 문제
문제 백준 15656번 문제
문제 백준 15655번 문제
문제 백준 15654번 문제
문제 백준 15652번 문제
문제 백준 9663번 문제
문제 백준 15651번 문제
문제 백준 1182번 문제
문제 백준 15650번 문제
문제 백준 15649번 문제
문제 백준 7569번 문제
문제 백준 2573번 문제
문제 백준 2206번 문제
문제 백준 2146번 문제
문제 백준 9466번 문제
문제 백준 7562번 문제
문제 백준 4179번 문제
문제 백준 7576번 문제
문제 백준 2178번 문제
문제 백준 1926번 문제
문제 백준 1697번 문제
문제 백준 1600번 문제
문제 백준 13549번 문제
문제 백준 1012번 문제
문제 백준 1012번 문제
문제 백준 10026번 문제
Thread에서 사용할 수 있는 전역으로 선언하지만 지역변수처럼 작동하는 변수
1. 원자성(Atomicity) 어떤 연산이 원자(atomic)적으로 일어난다 는 말의 의미?
1. CPU 용어 정리 Register CPU 내부에 존재하는 가장 작고 빠른 메모리 해당 메모리에서 값을 가져오고 ALU에서 계산을 실행한다 피연산자 또는 연산의 결과가 저장됨 데이터들은 Cache에서 가져옴
1. Future 간단한 작업을 처리할 때 사용하는 C++ 문법
1. Event 동기화 할 때 최적화를 위한 Flag
1. job-based system 정의
1. Main 함수의 성질 프로그램을 실행시키면 그건 프로세스가 되고 Main 함수는 모든 프로그램의 시작점인 함수이다
1. Recursive Mutex? 기존의 Mutex는 Lock과 UnLock이 단 한 번씩 이루어진다 따라서 여러개의 Lock을 걸고 싶을 때는 여러개의 Mutex를 선언해야만 한다
1. Spinlock이란? 어떤 기능을 실행하는데 lock이 걸려있다면 lock이 풀릴 때까지 무한루프를 돌면서 대기하다가 lock이 풀리면 바로 작업을 실행하는 방법
1. DeadLock이란? mutex로 lock을 건뒤에 모종의 이유로 lock이 풀리지 않아서 무한대기 상태에 빠지는 것을 의미
1. C++ Thread의 사용 기본적인 Thread 사용법에 관한 코드
1. Thread 란? Process 안에 있는 실행흐름 중에 하나 모든 Process는 한 개 이상의 Thread를 가진다
1. 가상메모리를 통해서 얻는 이점 가상메모리를 통해서 컴퓨터는 RAM 이상의 용량을 가진 프로세스들을 실행시킬 수 있다.
1. 가상메모리란? 가상메모리의 정의
Thread에서 사용할 수 있는 전역으로 선언하지만 지역변수처럼 작동하는 변수
1. 원자성(Atomicity) 어떤 연산이 원자(atomic)적으로 일어난다 는 말의 의미?
1. CPU 용어 정리 Register CPU 내부에 존재하는 가장 작고 빠른 메모리 해당 메모리에서 값을 가져오고 ALU에서 계산을 실행한다 피연산자 또는 연산의 결과가 저장됨 데이터들은 Cache에서 가져옴
1. Future 간단한 작업을 처리할 때 사용하는 C++ 문법
1. Event 동기화 할 때 최적화를 위한 Flag
1. job-based system 정의
1. Main 함수의 성질 프로그램을 실행시키면 그건 프로세스가 되고 Main 함수는 모든 프로그램의 시작점인 함수이다
1. Recursive Mutex? 기존의 Mutex는 Lock과 UnLock이 단 한 번씩 이루어진다 따라서 여러개의 Lock을 걸고 싶을 때는 여러개의 Mutex를 선언해야만 한다
1. Spinlock이란? 어떤 기능을 실행하는데 lock이 걸려있다면 lock이 풀릴 때까지 무한루프를 돌면서 대기하다가 lock이 풀리면 바로 작업을 실행하는 방법
1. DeadLock이란? mutex로 lock을 건뒤에 모종의 이유로 lock이 풀리지 않아서 무한대기 상태에 빠지는 것을 의미
1. C++ Thread의 사용 기본적인 Thread 사용법에 관한 코드
1. Thread 란? Process 안에 있는 실행흐름 중에 하나 모든 Process는 한 개 이상의 Thread를 가진다
1. move template <class _Ty> constexpr remove_reference_t<_Ty>&& move(_Ty&& _Arg) noexcept { return static_cast<remove_ref...
1. std::string_view C++ 17부터 추가된 string을 복사없이 사용할 수 있게 하는 문법
1. 유니폼 초기화(Uniform Initialization) 기존 초기화식의 모호성을 회피하기 위해 생긴 문법
1. 정의 <utility> 에 정의된 함수 std::declval
1. constexpr 참고링크 : https://modoocode.com/293
Modern Cpp에서 추가된 개념 중 중요한 Rvalue Lvalue 에 관해 서술
0. 참고문서 해당 문서 먼저 숙련 후 참고 1. 사용상의 주의사항 스마트포인터를 사용하면 temlpate란에 *를 붙이지 않지만 포인터로 선언되는 것을 항상 염두해야 한다.
C 기반의 Raw pointer에서 일어나는 여러가지 문제점을 해소하기 위해 나온 포인터
1. C++ 고유 리터럴 C++에는 코드에 직접 삽입된 값, 변경할 수 없으므로 상수라고 불림
1. auto의 타입추론 auto 는 기본적으로 C++의 긴 타입들을 짧게 변환할 수 있지만 auto의 타입추론은 몇가지의 상황에서 100%로 정밀하지 않다. 그리고 auto의 타입추론은 template의 타입추론과 똑같다.
문제 백준 2630번 문제
문제 백준 2448번 문제
문제 백준 2447번 문제
문제 백준 1992번 문제
문제 백준 17478번 문제
문제 백준 1629번 문제
문제 백준 11729번 문제
문제 백준 1074번 문제
문제 백준 1780번 문제
문제 백준 17478번 문제
1. 템플릿 메타함수 템플릿 메타함수란?
1. SFINAE Substitution Failure Is Not an Error
1. Type이 아닌 Template 인자값 Template에 Type이 아닌 값을 전달해줄 수 있다. ```cpp #include
1. 정의 <utility> 에 정의된 함수 std::declval
1. constexpr 참고링크 : https://modoocode.com/293
Udemy 한글자막 보는 법 참고
주의사항
에디터 기능
1. VS 들여쓰기 셋팅 1-1. Visual Studio 기본환경 셋팅 1-2. 들여쓰기 셋팅 Visual Commander 셋팅 https://vlasovstudio.com/visual-commander/ ue4vstool 설치 https://github...
1. reinterpret_cast 포인터>포인터, 포인터 > 일반변수, 일반변수 >포인터 자료형을 바꿀 수 있는 Cast 형변환이 이뤄지면 해당 자료형의 bit수에 맞게 들어간다 void* 로 전달할 수 있는 유일한 Casting struct에 있...
1. auto의 타입추론 auto 는 기본적으로 C++의 긴 타입들을 짧게 변환할 수 있지만 auto의 타입추론은 몇가지의 상황에서 100%로 정밀하지 않다. 그리고 auto의 타입추론은 template의 타입추론과 똑같다.
1. 기본정의 포인터와는 다르게 Reference는 변수에 별명을 하나 더 추가하는 식 따라서 초기화 할 때 대상을 필수로 지정해주어야 하며 바꿀 수 없다
0. 참고문서 해당 문서 먼저 숙련 후 참고 1. 사용상의 주의사항 스마트포인터를 사용하면 temlpate란에 *를 붙이지 않지만 포인터로 선언되는 것을 항상 염두해야 한다.
C 기반의 Raw pointer에서 일어나는 여러가지 문제점을 해소하기 위해 나온 포인터
1. 가상메모리를 통해서 얻는 이점 가상메모리를 통해서 컴퓨터는 RAM 이상의 용량을 가진 프로세스들을 실행시킬 수 있다.
1. 가상메모리란? 가상메모리의 정의
문제 백준 5430번 문제
문제 백준 1021번 문제 지민이는 N개의 원소를 포함하고 있는 양방향 순환 큐를 가지고 있다. 지민이는 이 큐에서 몇 개의 원소를 뽑아내려고 한다.
에디터 기능
주의사항
Udemy 한글자막 보는 법 참고
SOLID 원칙이란?
getline 함수를 이용 공백이 담긴 문자를 입력받아야 할 때
공간복잡도를 올리고 시간복잡도를 내리는 방법 결과와 매칭되는 큰 배열을 추가로 선언해서 시간복잡도 O(n^2)에서 O(n)으로 변경