본문 바로가기

전체 글

(282)
백준 17829 - 222풀링 쿼드트리로 2*2 행렬을 계속해서 만들자 #include #include #include #include int n;using namespace std;int Recursion(int x, int y, int len, vector>& vec){ // 마지막 2*2 정사각형을 만들기 위해 if (len == 1) { return vec[x][y]; } vector v; int divsize = len / 2; v.push_back(Recursion(x, y, divsize, vec)); v.push_back(Recursion(x, y + divsize, divsize, vec)); v.push_back(Recursion(x + divsize, y, divsize, vec)); v.push_back(Rec..
백준 2493 탑 스택 문제 어렵네... 생각이 안남 #include #include #include #include using namespace std;int main(void){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int num; cin >> num; stack> sta; for (int i = 0; i > n; while (!sta.empty()) { if (sta.top().first > n) { cout
09-04 (위젯) cpp 에서도 해당 클래스의 헤더 파일을 제일 위에 두는게 좋다. WBP 에 추가한 기능들을 cpp 상에서도 똑같이 추가해주어야한다. 이름이 같아야함. TitlePannel->SetVisibility(ESlateVisibility::Hidden); GetWorld()->GetFirstPlayerController()->SetInputMode(FInputModeGameOnly()); GetWorld()->GetFirstPlayerController()->SetShowMouseCursor(false); 여러 캔버스를 하나의 위젯에 넣고 원하는대로 보거나 숨기게 만들자.마우스와 위젯의 사용 경우도 따져야한다. 위젯을 게임모드에서 추가한다면 래퍼런스 클래스와 인스턴스 클래스 2개를 만들어 에디터에서 설정해주고 ..
백준 1992 쿼드트리 재귀 안쪽에서 for 문 시작과 끝 범위에 대한 생각을 꼭 해야한다.  #include #include #include #include int n;using namespace std;void Recursion(int x, int y,int len, vector>& vec){ bool one = true; bool zero = true; for (int i = x; i > n; vector> vec(n, vector(n, -1)); int k = 0; for (int i = 0; i > str; for (int j = 0; j
백준 - 14400 편의점 2 long long 생각하자 맨해튼거리 #include #include #include #include using namespace std;int main(void){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int num; cin >> num; vector vecx(num); vector vecy(num); for (int i = 0; i > vecx[i] >> vecy[i]; } sort(vecx.begin(), vecx.end()); sort(vecy.begin(), vecy.end()); int minx = vecx[(num) / 2]; int miny = vecy[(num) / 2]; long long ans = 0; for (int..
09-03 (프로퍼티 meta = (MakeEditWidget = true), 생성자의 사용 방식, 이벤트와 함수) 프로퍼티 meta = (MakeEditWidget = true)레벨 상에서 표시 할 수 있도록 만들어준다. 예로 벡터를 담는 배열이 있을 때 이 클래스를 레벨에 배치하고 배열을 직접 추가해주면 레벨에 벡터의 위치를 확인 가능하다.  생성자의 사용 방식생성자는 레벨에 배치할 때에도 처음 에디터를 킬 때도 호출된다.따라서 특정 위치나 액터를 찾아서 배열에 넣는 함수를 만들고 생성자에서 호출 해주면레벨에 배치된 특정 액터나 위치를 찾는 코드를 따라 원하는 객체등을 배열에 넣어줄수있다.이러면 레벨에 몬스터를 하나씩 배치한걸 다시 몬스터 스포너에 넣어줄 필요가 없다. 몬스터 스포너르르 레벨에 배치할때 레벨에 존재하는 몬스터들이 알아서 스포너에 들어간다. BlueprintNativeEventBlueprintImpl..
백준 - 1541 잃어버린 괄호 #include #include #include #include using namespace std;int main(void){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); string str; cin >> str; bool minus = false; bool firstm = true; int answer = 0; string num; for (int i = 0; i
24 - 09 - 02 (IsValid()와 nullptr, GetName()) IsValid()와 nullptr 의 차이nullptr 은 메모리의 특정 주소가 0 인지 확인한다 IsValid() 는 특정 메모리 주소가 유효한지 확인한다.이것은 IsValid 는 메모리의 특정 주소에 쓰레기 값이 들어있는지까지 확인한다는 것이다. 따라서 본인 혼자서 혹은 한 번만 사용되는 포인터는 nullptr 여러 곳에서 해당 포인터를 참조 한다면 IsValid() 를 이용하여 댕글링 포인터나 쓰레기 값까지 체킹하도록 해준다. GetName 을 이용하고 contains 로 특정 클래스 확인이 가능하다IsA 를 이용해서도 특정 클래스 확인이 가능하다.Cast 를 통해서도 클래스 확인 가능하다.