백준 2839 (그리디)
하고싶은거/알고리즘 문제풀이2024. 3. 19. 20:45백준 2839 (그리디)

2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 과정 N은 3 * a + 5 * b로 이루어진 수이다. 가장 적은 봉지를 들고 가고 싶다고 했으니까, 5kg봉지를 최대한 들고, 남은 양을 3kg봉지로 채워야 한다. 음... 그럼 예를 들어서 15kg이 있으면, 5로 미리 나눠보면 이게 3봉지만 필요하다는게 바로 나오니까? N을 5로 먼저 나눠보고, 안나눠지면 -3해서 3kg봉지 1개 만들고 이런식으로 하면 될거같다. (모래성 깃발놀이 할 때 처음에는 크게크게 가져가다가 갈수록 적게 가져가는 것처럼) → 정답 찾아보니 이..

하고싶은거/알고리즘 문제풀이2024. 3. 18. 13:27백준 2751 (정렬)

2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 핵심 가장 먼저 든 생각 : 범위가 커서 시간초과가 날거같다. → 저번에 쓴 https://ssin-estella.tistory.com/28 관련 방법 사용해야지 두번째로 든 생각 : (sort()는 안써본다는 고집)아니, 중간에 요소를 넣어야한다고?? 이거 연결리스트 써야겠는걸? → 이게 문제가 되었다.. 일단 연결리스트로 중간삽입을 쉽게 하겠다는 발상은 좋았을지 모르지만, 1개만 기억하는 금붕어덕분에 1시간을 날렸다. 연결리스트는 중간삽입은 유용하..

백준 2292 (점화식)
하고싶은거/알고리즘 문제풀이2024. 3. 17. 19:26백준 2292 (점화식)

2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 핵심 이런 문제는 대놓고 "나 숫자에 패턴있어요" 하는 문제라.. 패턴을 찾는게 중요하다. 그렇게 어려운 패턴은 아니지만, 눈으로 봤을 때는 잘 안보여서 적으면서 찾았다. (에키드나를 그렇게 했는데;; 육각형 아직도 안보이다니. 레이드 더해야겠는걸?) 위처럼 패턴을 찾아서 점화식을 만들었다. #include using namespace std; int main() { int num = 0; int layer = 1; cin >> num; if (num == 1) laye..

빠른 입출력, 실행속도를 높이기 위한 수단 (백준 15552)
하고싶은거/C++2024. 3. 17. 17:05빠른 입출력, 실행속도를 높이기 위한 수단 (백준 15552)

15552번: 빠른 A+B첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다.www.acmicpc.net문제자체는 A+B를 출력하지만 하면 되는 단순한 문제이지만, 빠른 입출력이라니? 했다. cin, cout기본적으로 C++에서는 cin과 cout으로 입출력을 한다. 근데 문제에서는라고 친절하게 알려준다. cin.tie(NULL)이거 보자마자 든 생각 : C++은 nullptr아닌가? (맞다 nullptr가능) 기본적으로 입력과 출력은 연결되어있다. 즉, cin과 cout 스트림이 서로 연결되어있는데 이게 빠른 입출력이 필요한 상황에서 문제가 된다. 왜냐하면, cin과 cout처럼 엮여있..

백준 1978 (에라토스테네스의 체)
하고싶은거/알고리즘 문제풀이2024. 3. 16. 23:36백준 1978 (에라토스테네스의 체)

1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 핵심 소수찾기 관련 시간복잡도는 O(n), O(√n)처럼 다양한데, 그중에서 바로 생각이 안났던 에라토스테네스의 체 알고리즘으로 풀었다. 에라토스테네스의 체 에라토스테네스의 체 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 에라토스테네스의 체 수학에서 에라토스테네스의 체는 소수를 찾는 빠르고 쉬운 방법이다. 고대 그리스 수학자 에라토스테네스가 발견하였다. 알고리즘[편집] ko.wikipedia.org 이건 거의 O(NloglogN)..? 인가 하여튼 빠르다. 이 문제를 풀면서 헷갈렸던게, 결국 에라토스테네스..

2024. 3. 16. 14:24Part1 15. 언리얼 빌드 시스템

보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 해주세요.

Part1 14. 언리얼 오브젝트 관리 : 패키지, 애셋
하고싶은거/Unreal2024. 3. 16. 11:59Part1 14. 언리얼 오브젝트 관리 : 패키지, 애셋

언리얼 오브젝트 "패키지" = 다양한 오브젝트를 감싼 오브젝트 언리얼 오브젝트 패키지 저번 직렬화 를 통해서 '단일'언리얼 데이터를 저장했었다. 다양한 오브젝트를 저장하기 위해서, 그리고 다양한 데이터(복잡한 계층 구조)를 효과적으로 찾고 관리하기 위해 언리얼 오브젝트 패키지(UPackage)단위로 언리얼 오브젝트를 관리한다. (패키지는 이 외에도 최종 콘텐츠 프로그램, DLC와 같이 확장 콘텐츠에 사용되는 pkg파일등 다양하게 사용되는 단어이다.) 언리얼 오브젝트 패키지 & 애셋 언리얼오브젝트 패키지는 다수의 언리얼 오브젝트를 포함한다. = 모든 언리얼 오브젝트는 패키지에 소속되어 있다. 패키지 바로 하단에 위치한게 Asset 애셋 일반적으로 하나의 패키지에는 하나의 애셋만 저장하는 것을 원칙으로 한다..

Part1 13. 언리얼 오브젝트 관리 : 직렬화
하고싶은거/Unreal2024. 3. 14. 11:35Part1 13. 언리얼 오브젝트 관리 : 직렬화

직렬화 Serialization 오브젝트나 연결된 오브젝트의 묶음을 바이트 스트림으로 변경하는 과정. 복잡한 데이터를 일렬로 세워버린다.(복잡 → 간단) Object → Byte Stream : 직렬화 (Serialization), Byte Stream → Object : 역직렬화 (Deserialization) 즉, 직렬화로 복잡한 데이터를 간단하게 만들면, 데이터를 전송하거나 맞바꿀 때 1줄로 되어있는 간단한 바이트 스트림으로 변환하고 복구할 수 있다. 직렬화 장점 프로그램의 상태 저장, 복원 가능 (게임 세이브) 객체 정보를 클립보드에 복사해서 다른 프로그램으로 전송가능 네트워크를 통해 프로그램의 상태를 복원할 수 있음 (멀티게임에서 자주 사용) 직렬화된 데이터는 압축과 암호화를 통해서 데이터를 안..

Part1 12. 언리얼 엔진 메모리 관리
하고싶은거/Unreal2024. 3. 13. 16:35Part1 12. 언리얼 엔진 메모리 관리

UObject 선언 기본 원칙 언리얼 오브젝트 포인터 : UPROPERTY 선언 메모리 : 가지비컬렉터가 자동으로 관리하도록 위임 언리얼 엔진 자동 메모리 관리 C++ 메모리 관리 문제점 : 저수준으로 메모리 주소에 직접 접근하는 포인터 사용 포인터에 대한 new(할당), delete(해지)를 직접 해줘야함(안하면 이제..오류 투성이 됨) 근데 문제는 이걸 잘 못하면? 상당한 문제가 발생(프로그램 자체를 종료) 메모리 누수 : new하고 delete를 안해서 heap에 그대로 남아있음, 메모리 낭비 (도서관에 책빌리고 반납안함) 댕글링 포인터 (허상포인터) : 이미 delete된 주소를 가리키는 경우 (책반납했는데 책 찾고 있음) 와일드 포인터 : 포인터를 초기화되지 않아서 이상한 주소를 가리킴 C++에..

Part1 11. 언리얼 컨테이너 라이브러리 UCL : UStruct, TMap
하고싶은거/Unreal2024. 3. 11. 23:06Part1 11. 언리얼 컨테이너 라이브러리 UCL : UStruct, TMap

언리얼 구조체 UStruct : 관련 프로퍼티(변수)를 체계화, 조작할 수 있는 데이터 구조체 https://docs.unrealengine.com/5.3/ko/structs-in-unreal-engine/ 구조체 게임플레이 클래스용 구조체 생성 및 구현에 대한 레퍼런스입니다. docs.unrealengine.com 데이터 저장, 전송에 특화된 가벼운! 객체 하지만 UObject와는 전혀 다르다. 따라서, 프로젝트에서 복잡한 기능은 UObject로 만드는게 맞다. 대부분 GENERATED_BODY 매크로를 선언하게 되는데, 리플렉션, 직렬화 같은 유용 기능을 지원 GENERATED_BODY를 선언한 구조체는 UScriptStruct 클래스로 구현 (UStruct라고 안부르고, UScriptStruct) ..

image