일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- boj 6443
- 지게차와 크레인
- DirectX
- lock based stack
- find the running median
- boj 11657
- ice cream parlor
- pccp 기출문제 풀이
- the maximum subarray
- making anagrams
- dp
- PCCE
- c++
- lock free stack
- DirectX12
- the longest increasing subsequence
- 브루트포스
- string construction
- 2025 프로그래머스 코딩챌린지 1차예선
- LCS
- lock based queue
- 프로그래밍공부
- special string again
- boj 1717
- gas
- pcce 기출문제 풀이
- find the town judge
- boj 1074
- count triplets
- two characters
- Today
- Total
목록오구의 코딩모험 (118)
오구의코딩모험

https://59travel.tistory.com/125 [GAS] 프로젝트 설정 및 캐릭터 구성하기프로젝트 설정 GAS는 언리얼 엔진에서 플러그인으로 제공하고 있다.따라서 사용하고자 할 때, 플러그인 추가와 프로젝트 설정이 필요합니다. 1) 에디터에서 GameplayAbilitySystem 플러그인 활성화 2) [Y59travel.tistory.com 저번 포스팅에서는 GAS를 위한 프로젝트 기본 설정과 캐릭터를 구성하여 점프 Ability를 구현해보았습니다. 이번 포스팅에서는점프 이외의 피격 Ability를 구현해보며 피격 판정을 Gameplay Tags를 활용해보았습니다. Gameplay Tags Gameplay Tags란?게임플레이 태그는 단어에서 유추할 수 있듯이 게임을 플레이하는 데 ..

프로젝트 설정 GAS는 언리얼 엔진에서 플러그인으로 제공하고 있다.따라서 사용하고자 할 때, 플러그인 추가와 프로젝트 설정이 필요합니다. 1) 에디터에서 GameplayAbilitySystem 플러그인 활성화 2) [YourProjectName].Build.cs 파일의 PuplicDependencyModuleNames에 "GameplayAbilities", "GameplayTags","GameplayTasks"을 추가 3) Visual Studio 프로젝트 파일 새로 고침/재생성. 4) UE 4.24 ~ 5.2 버전은 UAbilitySystemGlobals::Get().InitGlobalData()를 호출하여 TargetData를 사용합니다. 샘플 프로젝트는 이 작업을 UAssetManager::..

코딩테스트 대비를 위해해커랭크에서 누적합 / 이분 탐색 / 힙 / 투 포인터 관련 알고리즘연습하기..! 1. The Maximum Subarray (Normal) 📌 문제 요약주어진 배열로 만들 수 있는 부분 배열 중연속적인 원소들의 최대 합과 단순 최대 합을 구하라. 구현 코드vector maxSubarray(vector arr) { vector answer; int addNum[100001]; fill(addNum, addNum+arr.size()+1, 0); addNum[0] = arr[0]; for(int i=1; i0) positive += num; if(positive == 0) positive = *max_element(arr.begin(), a..

코딩테스트 대비를 위해해커랭크에서 해시테이블 관련 알고리즘연습하기..! 1.Ransom Note (Easy) 📌 문제 요약두 문자열 리스트(megazine, note)에서 단어 빈도 비교magazine의 단어들로 note를 만들 수 있는지 확인 구현 코드void checkMagazine(vector magazine, vector note) { unordered_map um; for(string s : magazine) um[s]++; for(string s : note){ if(um[s]) um[s]--; else { cout 💡 알고리즘 요약unordered_map 으로 magazine의 단어 빈도 세기note의 각 단어가 m..

코딩테스트 대비를 위해해커랭크에서 문자열 관련 알고리즘연습하기..! 1. String Construction (Easy) 📌 문제 요약문자열을 구성할 때, 처음 등장하는 문자는 1달러,이미 등장한 문자는 복사하며 비용은 0달러 이다.총 비용을 계산 ! 구현 코드int stringConstruction(string s) { int freq[26] = {}, cnt = 0; for(char c : s) { if(freq[(c-'a')]==0) { cnt++; freq[(c-'a')]=1; } } return cnt;} 💡 알고리즘 요약문자열의 서로 다른 문자 개수가 곧 정답 구현 팁unordered_set o..

https://www.acmicpc.net/problem/1717 문제 3줄 요약1. n+1개의 집합이 있다.2. 합집합 연산과 두 원소가 같은 집합인지 판별하는 연산을 수행한다.3. 1로 시작하는 입력에 대해서는 포함 여부를 출력한다. 문제의 제한 사항을 확인해보면n은 최대 10^6 이므로 단순히 set를 이용한 집합 연산은 불가능하다고 생각하였다. 해당 문제에서는Disjoint-set(서로소 집합, 분리 집합)을 표현하는 Union-Find 알고리즘을 이용하였다. 해당 알고리즘이 익숙하지 않다면아래 영상을 참고하길 바란다!! https://www.youtube.com/watch?v=rE-OUyZJgOk 위와 같은 집합이 존재할 때,부모 정점 테이블을 이용하여 집합의 연결을 수행한다. 연결..

https://www.acmicpc.net/problem/11657 문제 3줄 요약1. N개의 도시가 있다. 1번 도시가 기준이다.2. 도시를 건너는 버스는 시작 도시, 도착 도시, 걸리는 시간(양수가 아닌 경우 존재)으로 표현한다.3. 나머지 도시로 가는 가장 빠른 시간을 구해라. 만약 시간을 무한히 오래 전으로 되돌릴 수 있다면 -1을 출력한다. 2번 도시부터 차례대로 시간을 출력하되해당 도시로 가는 경로가 없는 경우 또한 -1을 출력한다. 여기서무한히 오래 전으로 되돌릴 수 있다는게 무슨 뜻 일까? 걸리는 시간 C가 음수이며,음수가 포함된 경로가 순환을 이루면반복을 통해 최단 시간이 무한한 음수로 가는 경우를 뜻하게 된다. 따라서최단 경로 알고리즘인 다익스트라 알고리즘은 사용할 수 없으며,벨만..

Lock-Free Stack 학습 정리 (上편) 멀티스레드 환경에서 Stack을 공유할 경우, 일반적으로는 mutex를 사용해 동기화합니다.하지만 잠금(lock)은 성능을 떨어뜨릴 수 있습니다.그래서 오늘은 Lock-Free Stack, 즉 락 없이 작동하는 스택에 대해 공부했습니다!compare_exchange_weak 같은 CAS(Compare-And-Swap) 연산을 사용해서 락 없이도다중 스레드 환경에서 안전하게 Push와 Pop을 수행할 수 있다는 게 핵심입니다. Lock-Free Stack이란? Lock-Free Stack은 이름 그대로 락(mutex 등)을 사용하지 않고도 멀티스레드 환경에서 안전하게 동작하는 자료구조입니다.이 스택은 atomic 포인터와 연산을 기반으로 구현되며, 핵심은..

https://www.acmicpc.net/problem/1749 문제 3줄 요약1. 동주와 점수 따먹기 게임을 한다.2. N*M 행렬 각 칸에 -10'000 ~ 10'000의 정수를 하나씩 쓴다.3. 행렬의 부분 행렬의 합이 최대가 되게 구하라! 예제를 보고누적합을 생각하니 DP를 사용해야겠는데?라는 생각이 떠올랐고풀었던 유사한 문제가 생각났다. https://59travel.tistory.com/104 [C++] BOJ 15724번 : 주지수https://www.acmicpc.net/problem/15724 문제 3줄 요약1. 네모 왕국의 1X1의 단위 구역을 여러 개 묶으려고 한다.2. 4개의 숫자로 직사각형 범위를 알려준다.3. 해당 직사각형 범위의 내에 살고 있는 사람 수를59travel...

메모리 모델, TLS, 락 기반 자료구조 학습 정리 이번엔 C++ 멀티스레드 프로그래밍에서 중요한 개념들인 Memory Model, Thread Local Storage, atomic, 그리고 Lock-Based 자료구조(스택/큐)를 공부했습니다. 1. 메모리 모델 (Memory Order) Memory Model (정책) 1) Sequentially Consistent (seq_cst) 2) Acquire-Release (acquire, release) 3) Relaxed (relaxed) (1) seq_cst (가장 엄격 = 컴파일러 최적화 여지 적음 = 직관적) - 가시성 문제 바로 해결! 코드 재배치 바로 해결! (2) acquire-release - 딱 중간! - release 명령 ..