목록전체 글 (194)
초보 코린이의 성장 일지
https://www.acmicpc.net/problem/15990 #include #include #include #include #include #include #include #include #define MOD 1000000009 using namespace std; long long dp[100001][4]; int main() { cin.tie(NULL); cout.tie(NULL); ios::sync_with_stdio(NULL); // 1, 2, 3만 가지고 합을 나태내야 한다. // 연속적으로 같은 숫자는 사용 불가능 // 무조건 1개의 숫자는 사용해야한다. // 1, 2, 3이 바로 전 수에서 사용이 되었나를 찾아야한다. ex) 3 -> 숫자1, 2, 3 = 1, 1, 1 / 4 -> ..
C는 절차지향형 프로그램이기도 하지만 함수지향 프로그래밍이다. 위에서 아래로 내려온다는 설명은 맞지만 사실 C++도 위에서 아래로 내려오는 구조이다. 설명이 너무 단순하게 설명되어 구조를 보는데있어 혼란이 올 수도 있다. 기능단위 프로그래밍을 시작으로 발전하던 도중 데이터가 방대하게 쌓이기 시작하면서 한계점을 느끼기 시작했다. 이를 방지하고자 "Class"가 탄생하고 객체지향 프로그래밍이 나오게 되었다. 하지만 객체지향도 단점이 있었다. 그게 "상속"이였다 상속이 많아지니 관리가 힘들어지게 되니 결국 기능만을 모아놓은 "CBD"방법이 나오게 되고. CBD는 추가 기능을 제공해준다. 애자일 (Agile) 방법론 1. 소프트웨어는 유동적이고 개방적인 특징을 띄고 있으며, 요구사항이 많아지고 변칙적일수록 그 ..
Heap 나 Stack가 내려가고 올라가면서 둘이 만났을때 어느한쪽이라도 그 지점을 넘어선다면 Stack Overflow 가 발생한다 Code 영역부터 위로 올라가는 구조를 띠고 있다. - 더블포인터 - **ptr를 예로 들면, struct 구조체 안에 만약 *int a 라는 포인터 변수를 생성하고 동적할당하여 함수 void(int *b) 선언을 통해 어떠한 값을 전달 받고자 한다면 *int a는 Stack 영역에 생성되어 동적할당된 변수를 찾아 Heap 영역에 들어가게 된다. 하지만 *ptr로 값을 찾기위해 접근한다면, Heap 영역에 어딘가에 있는 주소를 찾아 내지 못한다. 그럼 계속 할당되어 있는 상태로 남아있으면 메모리 누수가 발생한다 물론 delete로 할당을 해제하면 되지만 그럼 쓰는 의미가 ..
개발전용으로 들어가서 시간을 나타내는 Duration에 값을 수정하여 시간을 조절 할 수 있다. 맴버변수는 좌측 중앙에 변수란 + 눌러서 생성해 준다. 언리얼에서 모든 복사는 Ctrl + w 를 사용한다. 생성된 변수위에 Ctrl 눌러서 가져오면 Get과 Set이 나온다 (Get = 값을 가져오고, Set = 값을 셋팅한다 ) BeginPlay이벤트를 시작지점으로 출발하여 맴버변수 A, B를 Get으로 값을 가져오고, 각 변수에 값을 A = 10, B = 20을 대입해주고, 각 A, B에 노드를 연결해줄 int + int 를 선택하여 무엇을 할지 행동을 결정해준다. 그 후 Set을 통해 저장된 값을 셋팅해준다. Capsule Component = 캐릭터가 앞으로 일어날 충돌에 대해 나타낸다. Arrow ..