분류 전체보기
[백준 15685번 C/C++] 드래곤 커브
[백준 15685번 C/C++] 드래곤 커브
2024.05.07[백준 15685번 C/C++] 드래곤 커브 https://www.acmicpc.net/problem/15685 해결전략 구현 처음 시도할 때, 그려지는 모든 좌표를 기록한 후 재귀를 돌려 90도 회전시켰다. 좋지 않은 방법이고 재귀이기 때문에 시간초과가 나온다. 핵심 아이디어vector dots;꼭지점의 좌표가 아닌 방향을 저장한다생성되는 꼭지점을 dots 배열에 담는다. 이 때, 배열의 값은 방향이다.배열의 값(=방향)을 회전시킬 때 업데이트한다. 정답 코드 #include #include using namespace std;int dirY[4] = { 0, -1, 0, 1 };int dirX[4] = { 1, 0, -1, 0 };int n; // 커브의 개수vector> v(101, vect..
[C++] Effective C++ : Chapter 6 상속, 그리고 객체 지향 설계
[C++] Effective C++ : Chapter 6 상속, 그리고 객체 지향 설계
2024.05.07목차 Chapter 6 상속, 그리고 객체 지향 설계 항목 32: public 상속 모형은 반드시 "is-a(..는 ...의 일종이다)"를 따르도록 만들자 Q. 다음 보기의 설명 중에 틀린 것을 고르십시오. 클래스 D("Derived)를 클래스 B("Base")로부터 public 상속을 통해 파생시켰다고 가정합니다.1. public 상속은 "is-a(..는 ...의 일종이다)"를 의미한다.2. D 타입으로 만들어진 모든 객체는 또한 B 타입의 객체이지만, 그 반대는 되지 않는다.3. D 클래스는 B 클래스보다 더 큰 메모리 공간을 가진다.4. private으로 상속받으면 public와 protected를 private 멤버로 바꿔준다.더보기답. 3번자식 클래스는 부모 클래스에서 상속받은 ..
2024.05.05 운동일지
2024.05.05 운동일지
2024.05.05웨이트 1시간
2024.05.04 운동일지
2024.05.04 운동일지
2024.05.04웨이트 1시간 (다리, 등)
[백준 16236번 C/C++] 아기 상어
[백준 16236번 C/C++] 아기 상어
2024.05.04[백준 16236번 C/C++] 아기 상어 https://www.acmicpc.net/problem/16236 해결전략 너비우선탐색 BFS 아기 상어가 물고기를 먹은 시점에 BFS를 다시 돌려야 한다. 처음 시도한 코드 #include #include #include using namespace std;int dirY[4] = { -1, 0, 1, 0 };int dirX[4] = { 0, -1, 0, 1 };int n;vector> v;int answer;bool success = false;struct Info{ int y, x, feed, sharkSize;};void BFS(int startY, int startX, int feed, int size, int time){ int timeSpe..
[백준 14499번 C/C++] 주사위 굴리기
[백준 14499번 C/C++] 주사위 굴리기
2024.05.04[백준 14499번 C/C++] 주사위 굴리기 https://www.acmicpc.net/problem/14499 해결전략 구현 x, y 좌표가 대다수의 코딩테스트 문제의 반대여서 헷갈렸다. 문제를 이해하는데 많은 시간이 걸렸다.이동할 때마다 주사위가 구른다. ' 북 >> 남 >> 서 >> 동' 순서로 주사위는 굴러간다. 정답코드 #include #include using namespace std;int n, m;int startX, startY;int k; // 명령의 개수vector> v;vector dice(6);// [0]// [4][1][5]// [2]// [3]void Roll(int dir){ vector tmp(6); if (dir == 1){ // 동 tmp[..
[UE] ScriptDelegates.h: ensure( InvocationList[ CurFunctionIndex ] != InDelegate )
[UE] ScriptDelegates.h: ensure( InvocationList[ CurFunctionIndex ] != InDelegate )
2024.05.03ensure( InvocationList[ CurFunctionIndex ] != InDelegate ) 문제상황 ScriptDelegates.h 코드의 ensure( InvocationList[ CurFunctionIndex ] != InDelegate ) 부분에 Break가 걸리며 오류가 발생했다. 콜스택을 타고 추적하니 Dynamic Delegate하는 부분이 나왔다. 확인해야될 사항 위에서 발생한 문제는 Dynamic Delegate에 관련된 문제다. 해당 경우, 확인할 사항들로는Delegate 바인딩한 함수에 UFUNCTION() 을 붙였는지Delegate 바인딩을 실수로 여러번 했는지다. 해결 1. UFUNCTION 붙였는지 확인하기 - 이상없음. 2. Delegate 바인딩을 ..
2024.05.01 운동일지
2024.05.01 운동일지
2024.05.01조깅 5km
[서평] 게임 프로그래밍 패턴
[서평] 게임 프로그래밍 패턴
2024.04.29제목: 게임 프로그래밍 패턴부제: 더 빠르고 깔끔한 게임 코드를 구현하는 13가지 디자인 패턴저자: 로버트 나이스트롬출판사: 한빛미디어 이 책은 게임 개발에서 유용한 13가지 디자인 패턴을 통해 더 효율적인 코드를 작성하는 방법을 알려준다. 각 패턴의 개념을 설명하고, 실질적인 예제와 함께 적용 방법을 소개한다. 사람들이 디자인 패턴 책을 떠올리면 너무나도 유명한 'GoF의 디자인 패턴' 책을 먼저 떠올릴 것이다. 해당 책은 1995년에발매된 책이고 책을 출판할지언정 개정판을 내고 있지 않다. 오늘 소개한 '게임 프로그래밍 패턴'의 저자 로버트 나이스트롬는 GoF 디자인 패턴을 참고하여 게임 프로그래밍에 자주 쓰이는 디자인 패턴을 소개한다. GoF처럼 많은 양의 디자인 패턴을 다루지는 않지만 게임 프..
[UE] C++로 작성한 구조체 DataTable의 Row Type으로 노출시키기
[UE] C++로 작성한 구조체 DataTable의 Row Type으로 노출시키기
2024.04.29C++로 작성한 구조체 DataTable의 Row Type으로 노출시키기 위해서는 public FTableRowBase의 상속을 받아야 한다. C++로 작성한 구조체 DataTable의 Row Type으로 노출시키기 문제 상황 엑셀에서 DataTable를 작성한 후 .csv 파일로 저장한다. 그리고 해당 파일을 언리얼 에디터로 부르려고 한다.하지만 Data Table 생성 시 코드로 작성한 구조체가 노출되지 않는다. 해결방안 USTRUCT(BlueprintType)struct FItem : public FTableRowBase{ GENERATED_BODY()public: UPROPERTY(EditDefaultsOnly) FText Name; UPROPERTY(EditDefaultsOnly) ..
2024.04.28 운동일지
2024.04.28 운동일지
2024.04.28조깅 5.70km
[C++] Effective C++ : Chapter 5 구현
[C++] Effective C++ : Chapter 5 구현
2024.04.28Effective C++ : Chapter 5 구현 항목 26: 변수 정의를 늦출 수 있는 데까지 늦추는 근성을 발휘하자. Q. 아래 코드에서 encrypted 변수를 어떻게 초기화하고 있을까요? 아래의 보기 중 옳은 것을 고르시오.std::string encryptPassword(const std::string& password){ std::string encrypted(password); }1. string의 기본 생성자에 의해 만들어지고 password 값이 대입된다.2. string의 복사 생성자에 의해 초기화된다.더보기답: 2번 ( 185~186쪽 )불필요한 기본 생성자 호출이 일어나지 않고 변수의 의미가 명확한 상황에서 변수를 정의함과 동시에 복사 생성자에 의해 초기화가 이루어지고 있..