2026. 3. 25. 22:03ㆍ언리얼 7기 본캠프
//코드카타를 못풀었기때문에 심화반에서 작성한 코드로 대신함
bool ispalindrome(const string& s){ //회문 검사
if (s.length() <= 1) return true;
auto frontit = s.begin();
auto endit = s.rbegin();
for(int i = 0; i < s.length() / 2; i++){
if (*frontit != *endit) return false;
frontit++;
endit++;
}
return true;
}
vector<int> oddevenfilter(const vector<int>& numbers, bool isoutputodd){ // true입력시 홀수필터, false입력시 짝수필터
vector<int> filtered;
auto it = numbers.cbegin();
if (isoutputodd) {
while (it != numbers.cend()) {
if (*it % 2 != 0) *back_inserter(filtered) = *it;
it++;
}
} else {
while (it != numbers.cend()) {
if (*it % 2 == 0) *back_inserter(filtered) = *it;
it++;
}
}
return filtered;
}
#include <iostream>
#include <vector>
#include <map>
#include <algorithm>
using namespace std;
int main(){
cout << "입력할 단어 갯수를 적어주세요" << endl;
int count;
cin >> count;
if (count <= 0) return 0;
int typecount = 0;
map<string, int> wordmap;
while(typecount < count){
cout << "단어를 입력해주세요" << endl;
string temp;
cin >> temp;
wordmap[temp]++;
typecount++;
}
vector<pair<string, int>> wordvector;
for(const auto& pair : wordmap){
wordvector.push_back(pair);
}
sort(wordvector.begin(), wordvector.end(), [](const auto& a, const auto& b){
if (a.second != b.second) return a.second < b.second;
else return a.first < b.first;
});
for(const pair<string, int>& pair : wordvector){
cout << pair.first << ": " << pair.second << endl;
}
}
cs모의면접 질문 복기
멀티스레드의 세마포어에 대해서
세마포어는 여러 스레드가 공유 자원에 접근할 수 있는 개수를 제어하는 동기화 기법이며, 내부적으로 카운터를 가지고 있고, 스레드가 자원을 사용하기 전에 카운터를 줄이고, 사용이 끝나면 다시 늘림. 카운터가 0이면 다른 스레드는 바로 들어가지 못하고 대기하게 됨
뮤텍스는 한번에 하나의 스레드만 접근 가능하지만 세마포어는 1개 이상이 접근 가능함
이진 세마포어와 카운팅 세마포어가 있으며, 각각 가지는 값이 0, 1이거나 0, 1, 2, 3... 처럼 여러개의 값을 가질 수 있음
RPC를 서버에서 invoke했을 때 NetMulticast일 경우
서버에서 호출하면 서버에서도 실행되고, 이후 복제되어 클라이언트에서도 실행이 됨. 다만 리플리케이트 되지 않은 Actor에서는 실행되지 않음
원근투영과 직교투영에 대해서, 그리고 게임에서 어떻게 작용하는지
원근투영은 카메라 시점에서 거리가 멀어질수록 물체가 더 작아보이게 표현하는 방식이고, 직교투영은 거리와 상관없이 물체의 크기가 일정하게 보이는 방식임
언리얼의 카메라 컴포넌트에서 원근투영은 Field of View값이 핵심으로 쓰이며, 직교모드에서는 이 값이 무시되고 대신 Ortho Width를 사용함
원근투영은 FPS, TPS처럼 깊이감이 중요한 경우에 사용하고, 직교투영은 아이소메트릭 뷰 게임, 전략게임 처럼 크기 왜곡 없이 정보를 읽기 쉽게 보여줘야할때 사용함
'언리얼 7기 본캠프' 카테고리의 다른 글
| 260331 TIL - 챕터4 팀프로젝트 발제, 인벤토리 시스템 (0) | 2026.03.31 |
|---|---|
| 260326 TIL - 챕터4 멀티플레이어 게임개발 14일차 (0) | 2026.03.26 |
| 260324 TIL - 챕터4 멀티플레이어 게임개발 12일차 (0) | 2026.03.24 |
| 260323 TIL - 챕터4 멀티플레이어 게임개발 11일차 (0) | 2026.03.23 |
| 260320 TIL - 챕터4 멀티플레이어 게임 개발 10일차 (0) | 2026.03.20 |