묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[게임 프로그래머 도약반] DirectX11 입문
ReadModel 에서 메모리 누수가 감지 되는데 이유를 모르겠습니다.
CRT 라이브러리를 활용하여 위 사진처럼 메모리 누수가 뜨고 있는 걸 확인했습니다. 찾아보니 ReadModel 함수에서 발생하였고 bone->parentIndex = file->Read<int32>(); 에서 누수가 나는걸 확인했습니다. 저 부분을 주석 처리하면 누수가 나지 않음을 확인했고, kachujin 외에 dragon, tower 등 다른 fbx 파일들도 예외 없이 저 부분에서 누수가 났는데 계속 찾아보고 고민해봤는데도 왜 crtdbg 에 메모리 누수로 잡히는지 이해가 안됩니다. Read 함수 구현 부분 입니다. 너무 궁금해서 처음으로 질문 남겨봅니다.. !
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-E 재귀함수 범위관련 질문 있습니다
안녕허세요 강사님강사님 풀이 과정을 3번 이상 듣고 코드를 여러번 봤는데도 잘 이해가 안가는 부분이 있어서 질문드립니다! 강사님 코드기준(해설집) 11번째줄과 12번째줄에for(int i = y; i < y + size; i++){ for(int j = x; j < x + size; j++){이렇게 i 와 j 의 범위를 나누셨는데왜 y가 0 일때 모든 x 값 비교하고 재귀하고이런식으로 만든 이유가 궁금해서 질문합니다. 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래 이렇게 한 묶음으로 검사를 하고 그 값을 return 하고 해야 맞지 않나요 ?제가 풀었던 범위 나누기와 달라서 너무 헷갈려서 질문합니다. #include <iostream> using namespace std; // 좌상 우상 좌하 우하 const int dy[4] = { -1, -1, 0, 0 }; const int dx[4] = { -1, 0, -1, 0 }; int N; char adj[65][65]; string ret; string QuardTree(int y, int x, int n) { string str; if (n == 1) return str += adj[y][x]; n = n >> 1; // n -> 2 for (int i = 0; i < 4; i++) { int ny = y + dy[i] * n; // 2 --> 1 int nx = x + dx[i] * n; str += QuardTree(ny, nx, n); } if (str == "0000") str = "0"; else if (str == "1111") str = "1"; else str = "(" + str + ")"; return str; } int main() { cin >> N; for (int y = 1; y <= N; y++) { string temp; cin >> temp; for (int x = 1; x <= temp.size(); x++) adj[y][x] = temp[x - 1]; } ret += QuardTree(N, N, N); cout << ret; return 0; } 혹시 질문이 이해가 안가실까봐 제 코드 풀이도 올려요
-
미해결홍정모의 따라하며 배우는 C++
Heap 은 메모리의 위치가 어디에 있는지 모른다는 언급을 하셨는데
그러면 CPU가 메모리에서 읽어올 때 하는 캐시에서도 손해를 볼 수 있나요? 아니면 그것도 감안하고 데이터를 캐싱하나요? c++과는 관련 없는 질문이지만 혹시 답변 가능하시면 감사하겠습니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-D 영역 범위 관련 질문드립니다.
선생님께서는 입력 받은 값x1,x2y1,y2로 범위를 정하고 그에 해당하는곳에 1의 값을 넣어 주었는데그 값이 배열에서의 값과는 다른데--> 입력이 5 7 3 0 2 4 4 1 1 2 5 4 0 6 2다음과 같이 주어 졌을때(0,2) ~ (4,4) 부분에 해당하는 배열의 값들을 보면a[1][0] a[1][1] a[1][2] a[1][3]a[2][0] a[2][1] a[2][2] a[2][3]인데 왜 범위를 for(int x = x1; x < x2; x++){ for(int y = y1; y < y2; y++){ a[y][x] = 1; 다음과 같이 나누어 그 값을 바로 넣었는지 궁금합니다. 제 생각은 y좌표의 위치를 뒤집어서 생각하는 것이기에 모든 값들도 똑같이 뒤집어서 넣는거는 상관없어서 넣은것 같은데 맞을까요??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-Q 모범답안 코드리뷰 부탁드립니다.
안녕하세요 큰돌님2-Q 2636문제 모범답안 코드 질문있습니다.void dfs함수에서 return이 두개가 있는데 각각 return을 하면 다시 main함수의 dfs(0,0)직후로 넘어가지는건가요 아니면 void dfs함수 내에 있는 if문의 return과 for문 바깥에 있는 return이 다른의미를 갖는건가요? void dfs함수 내의 return부분이 어디로 가는지 헷갈립니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
시간초과
아무리 해도 시간 초과 나고 심지어 강의 코드 그냥 똑같이 써도 시간초과가 나네요. 심지어 ret2 안구하고 그냥 ret5만 구해서 계산해도 시간초과입니다.ios_base::sync_with_stdio(false);cin.tie(NULL); cout.tie(NULL); 이거 안썼다고 시간초과 난다고 틀렸다고 하는건 비정상이라고 생각합니다. 실제 프로그래밍할 때 써야하는 것도 아니고 무슨 저거 썼는지 안썼는지 확인을 하는지 어이가 없네요. ㅋㅋ 이게 무슨 알고리즘 테스트인지.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
모법단안에서 질문이있습니다.
언제나 좋은 최상의퀄리티 수업을 듣고있음에 감사합니다.모법답안에서 질문이있는데요 의상이름과 종류 입력받을때 중간에 공백이 존재하는데 getline안써도 무방한가요?감사합니다 좋은하루보내세요
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-D 반례 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 제목과 같습니다. 아래 링크에 해당하는 코드의 반례를 알고싶어서 질문남깁니다. 항상 감사합니다.https://www.acmicpc.net/source/share/2c4c4086a4314e4688e24d7cbe8d1b4b
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-K 맞왜틀?
http://boj.kr/1cea1d70b28a4da8b871d48acb7c4907 홀수가 2개 이상이면 팬린드롬이 불가하고 아니면 팰린드롬을 만드는데알파벳 개수가 1개이면 홀수 문자에 넣고 아니면 개수의 반 만큼 word에 넣는다 이때, 홀수개이면 홀수 문자에 넣고 끝에 추가한다 그리고 뒤집은 word를 추가한다 이런 식으로 짰는데 실행하면 맞는데 왜 틀렸다고 뜨는지 궁금합니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-a 방문처리차이
http://boj.kr/e4c18d04514e406f88c1af0ce04953cb http://boj.kr/04682590a73c47c992a3437b78c555d0 비슷한 조건인거같은데 한쪽은 통과하고 한쪽은 메모리초과네요 어째서죠?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
네트워크 모델
저희 프로젝트에서 클라이언트의 네트워크 모델은 WSAEventSelect 모델, 서버의 네트워크 모델은 IOCP 모델이 맞을까요??서버의 모델은 IOCP 라는 걸 확실히 알겠는데 클라이언트의 네트워크 모델도 IOCP 인건지 WSAEventSelect 인지 이해가 잘 안갑니다..!!클라, 서버 둘다 메인스레드 하나로 처리한다고 하셔서 헷갈려서 여쭤봅니다 ㅠㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
10 20 11 12 13 일때 20자리에 11이 갱신되는게 어떻게 되는건지 모르겠습니다
*lowerPos가 뭘 가르키고 배열이 어떻게 되는지 더 자세하게 설명해주시면 안될까요 ㅠㅠ
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
Protobuf
안녕하세요 루키스님 덕분에 정말 많이 배우고 있습니다.Protobuf 가 현업에서도 자주 사용되는지 호기심에 여쭤봅니다.C++ 서버 강의에서도 다뤄주시는 것 같은데, 혹시 C# 서버 시리즈에서도 protobuf 로 작업하는 내용이 있을까요?
-
미해결[게임 프로그래머 도약반] DirectX11 입문
4강 삼각형 띄우기 LoadShaderFromFile() 함수
LoadShaderFromFile(L"Shaders.hlsl", "VS", "vs_5_0", _vsBlob); 에서 "VS" 부분에서 E0434 "std::string &" 형식(const 한정 형식 아님)의 참조를 "const char [3]" 형식의 값으로 초기화할 수 없습니다. 오류가 뜹니다해결방법을 모르겠습니다
-
해결됨홍정모의 따라하며 배우는 C++
[3:25] 함수 오버로딩 더미 변수
operator ++ 를 오버로딩하는 구문이 두 군데가 있어서, ambiguity가 발생하기 때문에, 이를 구분하고자 dummy parameter, int를 넣은 것이다, 정도로 이해하였습니다.그럼 실제 main 함수에서, 컴파일러는 어떻게 d++ 이 postfix overloading(line 19 ~ 24)에 해당하는지 알아낼 수 있나요? 반대로 ++d가 line 19 ~ 24로 가는 것이 아니고, line 12 ~ 16으로 가야 하는지 어떻게 알아내나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-L 질문입니다.
안녕하세요.저는 set을 사용해서 문제를 해결했습니다. 그런데 시간을 더 줄여보려고 코드를 수정했는데 틀리다고 나옵니다. 수정한 코드가 왜 잘못되었는지 모르겠습니다. 알려주시면 감사하겠습니다. 수정한 코드 http://boj.kr/e812a45ff3e34a8e9a22e97cce7e113f 원래 코드http://boj.kr/039878b27e594e0c90895f1414ab061d
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-K 팰린드롬 만들기 반례를 찾지 못하겠습니다.
안녕하세요. 강의 잘 수강하고 있습니다.해설 강의 보기 전에 문제를 먼저 풀어봤는데 계속 틀렸다고 나옵니다. 반례를 찾지 못하겠습니다.일단 제가 생각하기엔 알고리즘이 맞는 것 같고 해설 강의와도 사실상 똑같은 알고리즘입니다. 저는 홀수인 경우 짝수인 경우만 나눠서 짰는데 기본적인 원리는 똑같네요. 웬만한 반례를 찾아 돌려봐도 제대로 나오는데 백준은 자꾸 틀렸다고 하네요.http://boj.kr/c698570bbcae4b859fbfdf13b4fac684 뭐가 문제인지 모르겠습니다.
-
미해결홍정모의 따라하며 배우는 C++
3.8 비트단위 연산자
안녕하세요. 비트단위 연산자를 공부하던 중 궁금한 점이 생겼습니다.왜 컴파일 했을 시, bitset<4>(0110 >> 2)가 0001이 아닌 0010이 나오는지 모르겠습니다.알려주시면 정말 감사하겠습니다.#include <iostream> #include <bitset> using namespace std; int main() { cout << bitset<4>(0110 >> 2) << endl; }
-
해결됨[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
IOCP iocpHandle
// CP 생성 HANDLE iocpHandle = ::CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, 0, 0); // WorkerThreads for (int32 i = 0; i < 5; i++) GThreadManager->Launch([=]() { WorkerThreadMain(iocpHandle); }); 각 워커 스레드는 별도의 iocpHandle을 사용해서 WorkerThreeadMain 함수를 실행하는 걸까요? iocpHandle 은 하나의 공용적인 큐 일까요?
-
미해결홍정모의 따라하며 배우는 C++
3.4 조건 연산자 우선순위
#include <iostream> using namespace std; int main() { int x = 5; cout << (x % 2 == 0) ? "even" : "odd" << endl; }안녕하세요. (x % 2 == 0) ? "even" : "odd"로 쓰면 컴파일 오류가 나는데, 이를 해결하려면 ((x % 2 == 0) ? "even" : "odd") 이렇게 괄호로 한 번 더 묶으면 된다고 하셨습니다. 연산자 우선순위 때문에 오류가 나는 거라고 하셨는데, 어떤 연산자들끼리 우선순위가 충돌하는 건지 궁금합니다.