일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 크리티컬섹션
- 델리게이트
- dataasset
- BFS
- 스마트포인터
- 애셋로드
- C++
- UML관련
- 람다
- 언리얼가비지컬렉터
- C++최적화
- 약참조
- 강참조
- 알고리즘
- map
- 람다사용정렬
- 자료구조
- 정렬
- 프로그래머스
- 정렬알고리즘
- UE4 커스텀로그
- 언리얼엔진구조체
- unorder_map
- moreeffectiveC++
- stl
- enumasByue
- UELOG
- 선택정렬
- 데이터애셋
- UE_LOG
- Today
- Total
목록Note (423)
기억을 위한 기록들
www.acmicpc.net/problem/1303 1303번: 전쟁 - 전투 첫째 줄에는 전쟁터의 가로 크기 N, 세로 크기 M(1 ≤ N, M ≤ 100)이 주어진다. 그 다음 두 번째 줄에서 M+1번째 줄에는 각각 (X, Y)에 있는 병사들의 옷색이 띄어쓰기 없이 주어진다. 모든 자리에는 www.acmicpc.net #include #include #include #include using namespace std; string map[101][101]; int visited[101][101]; int dir[4][2] = { {-1,0} ,{0,1} ,{1,0} ,{0,-1} }; int whiteCnt; int blueCnt; int n, m; int cnt; void D(int _x, int ..
www.acmicpc.net/problem/18352 18352번: 특정 거리의 도시 찾기 첫째 줄에 도시의 개수 N, 도로의 개수 M, 거리 정보 K, 출발 도시의 번호 X가 주어진다. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) 둘째 줄부터 M개의 줄에 걸쳐서 두 개 www.acmicpc.net #include #include #include #include using namespace std; int visited[300001]; int main() { int N; //도시 수 int M; //도로의 수 int K; //거리 정보 int X; //출발 도시 cin >> N >> M >> K >> X; vector arr(N+1)..
* 이 글은 개인노트와 같아서 계속해서 수정되고 있습니다. * 이번은 벡터와 선현 변환을 행렬로 표현할 수 있는 행렬이다. 수학에서 선형대수학의 기본 정리(Fundamental theorem of linear algebra)라는 것이 있다. 이는 행렬과 선형 변환은 본질적으로 같다는 것을 증명한 내용을 담고 있다. [출처] 6. 행렬(Matrix)의 설계 방법|작성자 이득우 https://blog.naver.com/PostView.nhn?blogId=destiny9720&logNo=221401729370&categoryNo=22&parentCategoryNo=&from=thumbnailList 행렬의 종류 - 정방 행렬(square matrix) : 행과 열의 개수가 같음. - 영 행렬(zero matr..
방망이 깎는 노인 - 다른사람들이 보기엔 전혀 달라진게 없는 것 같은데, 한 노인은 매일매일 방망이를 깎았다. 아주 조금씩 변하는데, 어느 날 아침에 방망이를 잡아보면 두달 전, 세달 전이랑 완전히 다른 느낌이였다. 매일 매일의 점진적인 개선이 큰 산을 만든다는 믿음.
이전에 일반 C++에서의 스마트포인터에 대해 다뤄보았다. hyo-ue4study.tistory.com/247?category=862971 [CPP]스마트(Smart) 포인터에 관하여(1) - unique_ptr 스마트 포인터는 3가지가 있다. - unique_ptr (유니크) - shared_ptr (쉐어드) - weak_ptr (위크) 우선 일반 포인터를 보면 //... int main() { Vector* myVector = new Vector(10.f, 30.f); //... delete myVecto.. hyo-ue4study.tistory.com 이번엔 언리얼엔진에서 스마트포인터를 다뤄보자. 우선 간단하게 게임 인스턴스 클래스를 만들고, 임의의 클래스(House)(언리얼엔진에서 일반클래스 접두사..
const는 상수(constant)로 변하지 않는 값이다. -const가 *의 왼쪽에 있으면 포인터가 가리키는 대상이 상수. -const가 *의 오른쪽에 있으면 포인터자체가 대상이 상수. -const가 둘다 있으면 포인터자체와 포인터가 가리키는 대상 둘다 상수이다. int text = 5; int text2 = 7; const int* p1 = &text; //비상수 포인터 - 상수 데이터 //*p1 = 12; // 에러 -> 데이터 변경 불가 p1 = &text2; // 성공 -> 주소변경 int* const p2 = &text; //상수 포인터 - 비상수 데이터 *p2 = 8; //성공 ->데이터 변경 //p2 = &text2; // 에러 -> 주소변경불가 const int* const p3 = &t..
1. #define을 쓰려거든 const, enum, inline을 떠올리자. (전처리기보단 컴파일러를 가까이 하자.) #define PI 3.1415926535 - 해당 PI가 있으면 컴파일러에게 넘어가기전에 전처리기가 밀어버리고 숫자 상수로 바꾸어버린다. 그 결과로 PI라는 이름은 컴파일러가 쓰는 기호 테이블에 들어가지 않는다. 소스안에는 PI가 있는데 에러 메시지엔3.1415926535가 있으므로, 숫자 상수로 대체된 코드에서 컴파일 에러라도 발생하면 꽤나 헷갈릴 수 있다. 게다가 PI를 내가 작성하지 않았다면 더욱 찾기 힘들 수 있다. 찾아 들어가느라 시간을 허비할 수도 있다. 해결법으로는 상수(const)를 쓰는 것이다. const double PI = 3.1415926535; 그리고 매크로를 ..
www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net #include #include #include #include #include using namespace std; int main() { int n; cin >> n; string input; vector checkWord; int result = 0; for (int i = 0; i > input; bool i..
트리의 형태로 생성과정으로는 "이진 공간 분할 법은 하나의 공간을 특정한 최종 목적을 만족할 때까지 공간을 재귀적으로 2개씩 분할하는 과정이다. 예를 들면, 충돌 감지를 목적으로 하는 경우에는 원래 물체가 충분히 충돌 검사를 간단하게 할 수 있도록 공간이 분할되며 렌더링을 목적으로 하는 경우에는 화가 알고리즘을 가장 효율적으로 사용할 수 있도록 볼록한 도형으로 공간이 분할된다." 응용 방법 www.youtube.com/watch?v=1syQjkWeRZ0&ab_channel=Seunggeunjo www.youtube.com/watch?v=FO12bZD3a5M&ab_channel=%EC%8B%A0%ED%98%95%EC%A2%85 아직 구현 해본적은 없지만, 나중에 필요로 할 때, 예를 들어 로그라이크 같은 ..
www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net #include #include using namespace std; int main() { int n; cin >> n; cin.ignore(); string input; for (int i = 0; i > input; int size = input.size(); for (int j = 0..
www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. www.acmicpc.net #include using namespace std; int main() { int dp[1001] = { 0 }; dp[1] = 1; dp[2] = 3; dp[3] = 5; dp[4] = 11; int N; cin >> N; for (int i = 5; i
www.acmicpc.net/problem/9466 9466번: 텀 프로젝트 이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 있을 www.acmicpc.net #include using namespace std; int n = 0; int cnt = 0; int arr[100001]; int visited[100001]; int resultArr[100001]; void D(int curNum) { visited[curNum] = true; int targetNum = arr[curNum]; //현재노드가 가리키고 있는 번호 if (!visited[targetNum]) /..