묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
고민이있습니다. 루키스에 수많은 강의가 있는데 어떤 강의를 봐야할지 헷갈립니다.
[Rookiss University] Haker님의 UE5 소스코드 분석 시리즈 #1 (게임 프레임워크)[Rookiss University] Haker님의 UE5 소스코드 분석 시리즈 #2 (네트워크)[Rookiss University] UE5 Lyra 클론 코딩 (Haker)[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1) 저는 언리얼엔진게임개발자가 꿈인데이렇게 네 가지 강의를 듣고서 공부하고 싶습니다. 근데 문득 고민이 드는게 이 네 가지 강의를 한번에 다 들어야 할 필요가 있을까요? 만약 다 들어야 한다면 이유는 무엇인지가 궁금합니다. 만약 이 많은 강의들을 들어야 한다면 어떤식으로 어떤순서로 체계적으로 공부할지 고민이 됩니다.
-
해결됨실전! 언리얼 소울라이크 개발: A to Z
스태미나 UI 만들기 강의 초반부 따라하다가 캐릭터가 사라졌어요
초반에 _Game 파일을 만들고 폴더들을 옮기셨는데리다이렉션인가 알려주시는 부분 모르고 그냥 다 옮기다가 뭔가 오류가 나서 맵도 도중에 이동이 안되고블루프린트랑 인풋 폴더를 옮겨도 그대로 남아있고,삭제해도 삭제가 안됐었어요 그러다가 몇번 시도했는데, 이젠 아예 캐릭터가 안보여요 맵에서 아직 초반부라 그런진 모르겠는데, 강의 도중 너무 휙휙 넘어가시는 부분들이랑 선행되어야 하는 작업들을 안알려주셔서 헷갈리는 부분이 너무 많아요..
-
미해결[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)
예습용 프로젝트에서 B_Chest와 GA_Interact_Chest를 확인할 수 없습니다.
섹션 9의 다운로드에서 에셋을 가져오려고 했으나 영상에서 사용된 에셋이 존재하지 않습니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-P DFS 코드 질문 드립니다
안녕하세요, 강사님.강의 보기 먼저 혼자서 고민하며 풀어보았는데요,https://www.acmicpc.net/source/share/46676449a9414be689433f27149f744b 바이러스를 확산시킬 때 이번 문제의 경우 방문한곳을 굳이 체크하지 않고 값이 0인 지점은 모두 확산하면 되겠다고 생각해서 visited 배열 사용하여 이미 방문한 노드에 대한 확인은 하지 않았는데요, 이렇게 풀어도 괜찮은게 맞을까요?백준 제출 시 정답이 나오긴 했는데 찝찝해서 질문드립니다.
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
스택 empty
안녕하세요stack empty 함수에 return size() > 0으로 하게되면 비어있으면 false가 나올텐데 의미가 반대로 사용된 것 아닌가요??🙃
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-L 시간복잡도 추론을 어떻게 해야할지 감이 안옵니다.
비트마스킹 생각하기 전에 기본 추론 방식인 완탐 -> DP -> 그리디 순으로 생각을 해볼때 완탐의 경우 20C10 의 복잡도가 어느정돈지 아예 감이 안오더라구요20! / 10! * 10! 인데 10!은 360만정도로 이해했는데 문제 풀이에 도저히 20!의 감이 안와서 일단 '완탐'으로 가능한지 여부 자체도 파악이 안되더라구요.어떻게 이럴경우 대략적인 숫자를 확인해볼 수 있을까요
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-c 질문드립니다
안녕하세요 dp 없이 dfs로 풀었는데 왜 틀렸는지 모르겠습니다. 그리고 Int 형 재귀는 아무리 봐도.. 떠오르기 힘든데 (외판원 순회 문제도 아직 이해를 하지 못했습니다 ㅜㅜ) int 재귀를 잘 이해하는 방법이 있을까요?#include <bits/stdc++.h> using namespace std; int t,a,d[54][54]; string s; char b[54][54]; bool check[54][54]; int ans[54][54]; const int dy[4] = {-1, 0, 1, 0}; const int dx[4] = {0, 1, 0, -1}; bool in(int aa,int bb){ return(1<=aa && aa<=t && 1<=bb && bb<=a); } void down(int y,int x){ check[y][x] = 1; int value = (int)b[y][x] - '0'; for(int i = 0; i < 4; i++){ int ny = y + dy[i] * value; int nx = x + dx[i] * value; if(!in(ny, nx) || b[ny][nx] == 'H') continue; if(check[ny][nx]){ cout << -1 << "\n"; exit(0); } d[ny][nx]=max(d[ny][nx],d[y][x]+1); down(ny,nx); } check[y][x] = 0; } int main(){ cin >> t >> a; for(int i = 1; i <= t; i++){ cin >> s; for(int j = 1; j <= a; j++){ b[i][j] = s[j - 1]; } } //cout << down(1, 1) << "\n"; d[1][1]=1; down(1,1); int ret=0; for (int i=1;i<=t;i++){ for (int j=1;j<=a;j++){ ret=max(ret,d[i][j]); } } }
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-C 재귀 풀이 질문2
http://boj.kr/367fd4875e384ed7a3c4d8d650155ae6안녕하세요, 큰돌님.말씀해주신 대로 벡터에 크기 지정해서 런타임 에러 해결했습니다.연결성 체크하는 부분은 어떤 방식으로 구현해야 될까요?DFS로 할 수는 있을 것 같은데, 맞는 방향성이 아닌 것 같다는 생각이 듭니다...
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
맵 탐색에서 for문 내부의 조건문에 대해 질문 있습니다!
안녕하세요 큰돌님 열심히 수강중입니다 ㅎㅎvoid go 함수 내부에 for문에서if(a[ny][nx] && visited[ny][nx] == 0) go(ny,nx);이렇게 쓰는것과 강의 영상에 나오는 if(a[ny][nx] == 0)continue;if(visited[ny][nx]) continue;차이점이 있을까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-O 질문있습니다!
항상 강의 잘 보고 있습니다 감사합니다 ㅎㅎ다음은 제가 작성한 코드입니다.https://www.acmicpc.net/source/93982542 제 코드에서 궁금한 점은 다음과 같습니다. 평소 제 코드 스타일과도 연관된 부분인데주어진 상황에 대해 정직하게 푼다고 해야 할까요..? 특히 완전탐색의 경우, 저는 대부분 '가능한 조건 탐색 -> 해당 조건 적용 -> 결과 확인'의 정해진 순서대로 풀이하는데, 지금까지는 문제가 없었지만 해당 방식이 추후 '색다른 접근을 요구하는 풀이' 등에서는 독이 될까 조금은 걱정됩니다. 크게 신경 쓰지 않아도 될까요?최소값을 찾았을 때, 이후의 가지치기 대신 exit(0)으로 프로그램을 종료시켜버리는 것이 괜찮을지 궁금합니다. 답변 기다리겠습니다. 감사합니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-C 재귀 풀이 질문
http://boj.kr/089c2c9136d74ad080637a1d940ca88d안녕하세요, 큰돌님.비트마스킹이 익숙치 않아서, 우선 재귀로 풀어봤습니다.풀다가 연결성 체크하는 부분에서 막혔는데, 어떤 방식으로 해야 될까요? DFS로 할 수는 있을 것 같은데, 맞는 방향성이 아닌 것 같다는 생각이 듭니다...
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
스스로 작성한 코드 오류를 모르겠습니다
제 코드인데 어떤 부분이 틀렸는지 도저히 찾을 수 없어서 질문 남깁니다 #include <iostream>#include <vector>#include <utility>#include <algorithm>using namespace std;int n, c, tmp;vector<pair<int, int>> vec;int main(){ cin >> n >> c; while(n--){ cin >> tmp; auto it = find_if(vec.begin(), vec.end(), [&](pair<int, int> p) { return p.first == tmp; }); if (it != vec.end()) it->second++; else vec.push_back({tmp, 1}); } sort(vec.begin(), vec.end(), [](pair<int,int> a, pair<int,int> b){ return a.second > b.second; }); for (auto p : vec){ for(int i=0; i<p.second; i++) cout << p.first << " "; } return 0;}
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
모든 테스트 케이스랑 반례 찾아서 넣어도 맞게 나옵니다
안녕하세요!오랜만에 다시 코테를 푸는데 맞왜틀이 나와서 질문 드립니다!#include <iostream> using namespace std; int N, M, J; int l, r, cnt; int main(){ cin >> N >> M >> J; // 초기화 l = 1; r = M; cnt = 0; for (int i = 0; i < J; i++){ int apple; cin >> apple; // 범위 안이라서 움직일 필요 없다. if (apple >= l && apple <= r) continue; // 왼쪽에 가까우면 왼쪽으로 이동 오른쪽에 가까우면 오른쪽으로 이동 int leftLength = abs(l - apple); int rightLength = abs(r - apple); bool isLeft = leftLength < rightLength ? true : false; if (isLeft){ l -= leftLength; r -= leftLength; cnt += leftLength; } else{ l += rightLength; r += rightLength; cnt += rightLength; } } cout << cnt; return 0; }제가 만든 로직대로라면 절대로 경계값을 벗어날 수가 없습니다. 왜냐하면 문제에서 "각 사과는 N칸중 한 칸의 상단에서 떨어지기 시작하며" 라고 주어져 있기 때문입니다.67%에서 틀렸다고 나옵니다..!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-D 질문입니다!
http://boj.kr/88ce5a8413f544e49f40f03b76cc8be7큰돌님과 거의 유사한 방식으로 푼거같은데 왜 정답이 아닌지 잘 모르겠습니다혹시 반례가 존재하나요??
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
강의 문제 구성 질문
안녕하세요, 선생님.수업 진도 나가면서 혼자 30분 ~ 1시간 가량 고민해보며 먼저 문제를 풀어보고 그 이후에 강의 풀이를 보면서 복기하는 식으로 공부를 해 나가고 있는데요, 강의 듣던 중에 문제 구성 관련하여 궁금한점이 있어 질문드립니다.백준 문제를 선별하여 풀이를 해주시는데요, 혹시 백준 문제들은 해당 문제의 퀄리티가 좋고 코딩 테스트에 자주 나오며 그 문제를 완벽히 이해하고 풀었을 때 다른 문제 또한 비슷한 방법으로 접근했을 때 문제 풀이 능력이 향상될것이다 라는 기준으로 선정된 백준 문제들로 선별해주셨을까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
비트마스킹
큰돌님 비트마스킹을 공부하면서 계속해서 드는 생각이라 질문해요. 생각해보면 비트마스킹으로 구현할 수 있는 것들은 재귀함수를 이용한 완전탐색으로 전부 풀 수 있다고 생각해요. 물론 비트마스킹을 이용하면 메모리나 CPU 연산 측면에서 조금 더 빠르긴 하겠지만, 문제를 푸는데 있어서 막 체감이 큰 느낌은 아닌 거 같아요. 그래서 비트마스킹을 문제를 조금 더 다양하게 풀 수 있다 정도로 생각하고 있는데, 이정도로 받아들여도 될까요? 아니면 제가 놓친 부분이 있을까요? 물론 다양하게 생각하는 게 좋은거지만 직접적으로 큰 영향력 있는 이론은 아닌 거 같아서 질문합니다.
-
미해결홍정모의 따라하며 배우는 C++
생성자에서 throw처리가 되었을 때 질문입니다.
객체의 인스턴스화, instantiation 중 예외처리가 발생하게 되면 해당 객체의 소멸에 대해 잘 이해하고 있는게 맞는지 질문 남깁니다.와 같이 작성 되었다고 했을 때B *b = new B(0); 를 통해 B타입의 객체 instantiationnew B를 통해서 컴파일러가 힙 메모리에 B객체의 크기만큼 메모리를 확보 ->확보받은 메모리 내 멤버변수 정보 초기화를 위해서 B 객체 생성자 진입 ->진입 직전 파생클래스인 것 확인 -> 부모 initialization_list 실행 ->부모 생성자 호출 -> 자식 initialization_list 실행 -> 자식 생성자 호출위 순서에 의해 객체가 생성되는걸로 아는데, 부모 생성자에서 throw를 하여 StackUnwinding을 하면 예외처리에 의해 객체 생성을 완료하지 못하게 되고, 할당 받은 메모리의 위치(힙, 스택)에 상관없이 컴파일러가 소멸처리를 진행한다.이때, A, B 둘다 생성자 호출 중에 Instancing이 완료되지 못했으므로 소멸자 호출에 의한 객체 소멸이 이루어지지 않는다. 과 같이 A 클래스에 파생클래스가 아닌 C객체를 가지고 있고 예외처리를 자식 클래스 B에게 두면?A의 생성자는 호출이 완료되었고, B의 생성자에서 호출 시 예외처리가 발생한 것이므로"생성이 완료"된 부모객체와, 부모가 가지고있는 C객체는 "소멸자 호출"에 의해 처리된다.B의 경우 생성 도중 예외처리가 발생하였으니 컴파일러가 소멸 시켜준다.하지만 일반함수 Stack Unwinding에서도 똑같이 함수 StackFrame 내 에서 이루어진 동적할당에 대한 소멸 책임은 프로그래머에게 있다. B객체의 catch()에서 delete[] 가 없을 시 메모리 누수가 발생한다. 로 강의 해주신것을 전반으로 이것저것 시도해보며 정리 해보았습니다.Q) 요약 하자면 생성이 완료된 부모 객체부분, 멤버변수 객체는 당연히 각자의 소멸자 호출에 의해 소멸이 될것이고, 생성자 호출 도중 예외처리 된 객체 부분은 "취소"처리로 보며 스택, 힙에 할당되었든 취소된 부분은 컴파일러가 처리해준다. 가 맞을까요?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
섹션4 배열실습 질문입니다.
배열을 통해 콘솔에 5x5 맵을 표현하는 부분에서 while (true) {HANDLE output = ::GetStdHandle(STD_OUTPUT_HANDLE);COORD pos = { 0, 0 };::SetConsoleCursorPosition(output, pos); for (int y = 0; y < MAP_SIZE; y++) { for (int x = 0; x < MAP_SIZE; x++) { switch (GMap2D[y][x]) { case 0: cout << " □ "; break; case 1: cout << " ■ "; break; case 2: cout << " ● "; break; } } cout << endl; } }위와 같이 메인에 함수에 축약해서 코드를 짜놓았습니다. (실제로 헤더와 추가 cpp에서 도는것을 질문하기 쉽게 축약한것이라 실제 구동에는 차이가 없는것 같습니다.)위 코드에서 궁금한 부분이 2가지 생겼습니다.위 부분에서 while true로 돌고 있는데 무엇때문에 한번만 출력되는지 궁금합니다.위 코드를 작성하게 되면 다른 코드를 작성했을 때 콘솔창에 나타나는 "~~~~ 코드와 함게 종료되었습니다.... ~~~ 이 창을 닫으려면 아무 키나 누르세요.." 와 같은 프로그램의 끝을 알리는 자동 구문도 안뜨더군요.위 두 가지가 궁금합니다.
-
미해결홍정모의 따라하며 배우는 C++
4:00 질문 드립니다
연산자 오버로딩 비정적 멤버 참조는 특정 개체에 상대적이어야 한다는데 그럼 접두사를 point.으로 접근 해야지 오류가 풀리는 것인데 왜 강의에서는 out<<m_x 이 형태로 작성하는데도 오류가 일어나지 않는 건지 궁금합니다.
-
해결됨실전! 언리얼 소울라이크 개발: A to Z
CombatComponent, Weapon 참조
혹시 CombatComponent랑 Weapon클래스에서처럼 서로 참조하고 있는 구조가 현업에서도 많이 활용되고 있는지 궁금합니다.원래 많이 사용되는지 아님 최대한 줄여야하는 건지 아님 적당한 선에서는 사용해도 무방한지..?!감이 오지 않습니다,,