분류 전체보기
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fkzfyz%2FbtrRDZByLBj%2FSIAa7Y76mKukoTRbnfzm3K%2Fimg.png)
[Unreal] UI(위젯)에서 메인 캐릭터 가져오기
UUserWidget 클래스 내에 연관된 플레이어 캐릭터를 가져오는 함수가 존재한다. T같은 경우엔 미리 캐스팅해서 반환해준다는 점이 다르다. FLocalPlayerContext 구조체 변수에 의해 가져오게 된다. // 템플릿 함수 캐스팅해서 반환한다 template T* GetOwningPlayerPawn() const { return Cast(GetOwningPlayerPawn()); } // 플레이어 폰을 가져오는 함수 APawn* UUserWidget::GetOwningPlayerPawn() const { if (APlayerController* PC = GetOwningPlayer()) { return PC->GetPawn(); } return nullptr; } // 플레..
[실1] 9465 - 스티커
#include #include #include #include #include using namespace std; int main() { int c; cin >> c; while(c--) { int n; cin >> n; n++; vector dp(n, vector(n + 1)); for (int i = 1; i > dp[0][i]; for (int i = 1; i > dp[1][i]; for (int i = 2; i < n; i++) { dp[0][i] += max(dp[1][i - 1], dp[1][i - 2]); dp[1][i] += max(dp[0][i - 1], dp[0][i - 2]); } cout
[골4] 9252 - LCS 2
#include #include #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0), cout.tie(0); string str1, str2; cin >> str1 >> str2; str1 = ' ' + str1; str2 = ' ' + str2; int n = str1.size(), m = str2.size(); vector v(n, vector(m)); stack s; for (int i = 1; i < n; i++) { for (int j = 1; j < m; j++) { if (str1[i] == str2[j]) v[i][j] = v[i - 1][j - 1] + 1; ..
[골5] 9251 - LCS
#include #include #include using namespace std; int main() { string str1, str2; cin >> str1 >> str2; str1 = ' ' + str1; str2 = ' ' + str2; int n = str1.size(), m = str2.size(); vector v(n, vector(m)); for (int i = 1; i < n; i++) { for (int j = 1; j < m; j++) { if (str1[i] == str2[j]) v[i][j] = v[i - 1][j - 1] + 1; else v[i][j] = max(v[i - 1][j], v[i][j - 1]); } } cout
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkOzzM%2FbtrRtx0fuxo%2FLRBkMQhE9FXhoKr9KdO8f1%2Fimg.png)
LCS 알고리즘 - Longest Common Substring와 Longest Common Subsequence
Longest Common Subsequence? Substring? LCS는 주로 최장 공통 부분수열(Longest Common Subsequence) 또는, 최장 공통 문자열(Longest Common Substring)을 뜻한다. 해당 예시에서 최장 공통 부분수열(Longest Common Subsequence)은 BCDF, BCDE가 될 수 있다. 부분수열이기 때문에 문자 사이를 건너뛰어 공통되면서 가장 긴 부분 문자열을 찾으면 된다. 최장 공통 문자열(Longest Common Substring)은 BCD입니다. 부분문자열이 아니기 때문에 한번에 이어져있는 문자열만 가능하다. 최장 공통 문자열(Longest Common Substring) 최장 공통 부분수열(Longest Common Subse..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDW52O%2FbtrRpEyWi3j%2FPwbokevldSUKTLnKkn2hp0%2Fimg.png)
C++ call by value, call by reference
1. 예시 코드 주요 설명 명칭 설명 vector vec main 함수에서 선언한 int형 vector void modifyVector(vector vec) call by value 방식으로 vec의 원소 값을 받는 함수 void modifyVector(vector &vec) call by reference 방식으로 vec의 주소 값을 받는 함수 vec.size() vec의 크기를 반환하는 멤버변수 unsigned int형으로 반환 vec.at(정수형 인덱스) vec에 정수형 인덱스에 해당되는 원소 값을 반환 vec.push_back(정수) vec의 마지막 원소 뒤에 정수 값을 추가 2. call by value #include #include using namespace std; void modifyV..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlrZ0o%2FbtrPDrPfAHJ%2FB6pZWKwXhVm15BwfJoh2gK%2Fimg.png)
[DX11 물방울책] 챕터 6 - 색상 주기, 특수한 모형 그리고 API 인터페이스
6.1 버텍스와 인풋 레이아웃 사용자 정의 버텍스 포멧을 생성하기 위해선 데이터들을 들고있을 구조체를 먼저 생성해야 한다. 다음은 두 개의 다른 버텍스에 대한 구조체이며 하나는 위치와 색상 그리고 하나는 텍스처의 위치,노멀 그리고 피벗 축을 가지고 있다. struct Vertex1 { XMFLOAT3 Pos; XMFLOAT4 Color; }; struct Vertex2 { XMFLOAT3 Pos; XMFLOAT3 Normal; XMFLOAT2 Tex0; XMFLOAT2 Tex1; }; 정의한 후 Direct3D에게 정보를 넘겨줘야 한다 그래야 의도와 맞게 출력을 해주기 때문이다. ID3D11InputLayout 형태로 보내진다, 이러한 형태는 D3D11_INPUT_ELEMENT_DESC 구조체형인 배열이..
C++ (template, auto, decltype) 타입 추론 Universal reference
1. 정의 C++11의 새로운 피쳐들 중에서 아마 가장 의미있는 것은 RValue reference일 것이다. 이로 인해 move semantics와 perferect forwarding이 가능해졌기 때문이다. 문법적으로 &&(ampersands) 2개를 붙여 표시한다. void f(widget&& param); 위 예제를 보면 rvalue reference를 &&로 표기하는데 아무런 문제가 없어보인다. 하지만, 다음의 예제들은 &&로 rvalue reference를 의미할수도 그렇지 않을 수도 있다. Widget&& var1 = someWidget; // rvalue ref auto&& var2 = var1; // rvalue ref or lvalue ref (universal ref) template..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FM6kpc%2FbtrQZXsLNDY%2FIHAALxWUD8evoWfTKEMkrK%2Fimg.jpg)
바이오스 (BIOS - Basic Input/Output System)
정의 본래 펌웨어는 제품 생산 시에 탑재된 이후에는 내용 변경을 하지 않는 것이 관례였지만, 최근에는 지속적인 제품의 성능 향상 및 오류 개선을 위해 제품 출시 이후에도 제조사에서 새로운 펌웨어를 배포해 소비자들에게 업데이트 할 것을 권하는 경우가 늘어나고 있다. 이런 경우는 특히 스마트폰이나 휴대용 게임기와 같은 모바일 컴퓨팅 기기에서 흔히 볼 수 있다. PC용 펌웨어는 바이오스(BIOS: Basic Input/Ouput System)라고 하며, 해당 PC의 기본적인 데이터의 입력과 출력을 관리하는 것이 주된 역할이다. 바이오스는 메인보드(main board: 주기판) 상에 위치한 이피롬(EPROM), 혹은 플래시메모리(flashmemory) 칩에 저장되어 있다. 넓은 의미에서는 메인보드 외의 다른 하..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoLb1c%2FbtrQ0Yj9jse%2Fm0Nr9e2DAVEjEIedUZyg7k%2Fimg.jpg)
펌웨어 (Firmware)
펌웨어는 일반적으로 롬(ROM)에 저장된 하드웨어를 제어하는 마이크로 프로그램을 의미한다. 어떤 기능을 발휘하는 하드웨어를 만든다고 할 때, 그것을 제어하는 모든 회로를 하드웨어로만 만들면, 그 구조도 대단히 복잡해지고 심지어는 논리적인 표현을 하기가 어려운 부분도 발생한다. 이런 경우 상당부분을 소프트웨어로 대체하되 그 소프트웨어가 저장된 기억장치를 하드웨어의 제어 회로중의 중심부분으로 구성하면, 매우 간단하면서도 적은 비용으로 문제를 해결할 수 있게 된다. 이렇게 할 경우 하드웨어의 입장에서는 별도의 논리회로를 가진 것이 아니기 때문에 소프트웨어적인 특성을 가지고 있지만, 소프트웨어 입장에서는 마이크로 프로그램이 하드웨어를 제어하기 때문에 하드웨어적인 특성을 가진다고 설명할 수 있다. 소프트웨어의 기..