묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
비교연산과 논리연산 질문있습니다.
16:42 에서 헷갈리는것이 있습니다.test가 "죽었는가?(IsDead)"라는 의미의 변수일때,처음에 'isInvincible' 을 'true', 즉 값 1로 설정하였으로, 'isInvincible == false' 이것이 '무적이냐? == 아니다' 로 해석될 때, 사망에 적합한 조건(무적아님)으로 해석이 되므로 그 결과가 1이 나와야 하지만, '1(isInvincible)==0(false)' => '0' 이 되어서 무적이 아님에도 불구하고 사망의 조건('1')에 부합하지 않는다는 해석이 되어버리는데 혹시 제가 잘못 이해하고 있는지 궁금합니다.제 생각에는 isInvincible 변수를 처음에 초기화할때 '0'으로 둔다면 해석으로 보았을떄 정상적으로 작동하지 않을까 싶은데 솔직히 머리도 아프고 잘 모르겠습니다. 제가 잘못 이해하고 있는걸까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4 - M 조건 질문드립니다.
안녕하세요. 큰돌님. 큰돌님의 풀이 중 아래부분에 대해 질문 드립니다.if(i < s.size() - 1 && s.substr(i, 2) == "pi" || s.substr(i, 2) == "ka") i += 1; 현재 코드는 연산자 우선순위 때문에 if(false && false || true)일 경우 true를 반환하는데 if(false && (false || true))처럼 괄호를 추가해서 false를 반환하는게 원래 의미하신 코드인 것 같아서 질문드립니다. 조건에서 괄호가 있는게 나을지 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
공부의 순서가 궁금합니다 (교안 vs 강의)
지금 우선 필수 개념을 듣고 있는데요, 교안을 받아보니까 필수개념 및 전체 강의에 없는 내용들이 있어서요.어떤 순서(방법)로 공부를 해야하는지 궁금합니다.교안을 먼저 보고 해야할까요? 아니면 강의를 듣고 교안은 참고하면 되나요?제가 궁금한건, 필수 개념 부분 먼저 듣고 있는데, 순열의 목차가 알고리즘 교안에는 저기 뒤에 있어요. vector 같은 자료형은 앞에 있는데 또 필수강의나 다른 강의에는 없어서요. 교안을 어디까지 먼저 봐야하는지 / 교안을 어떤 비중으로 봐야하는지 궁금합니다. 또 다른 예로, 그래프이론의 기초 부분가 알고리즘 교안에는 없어요.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
8주차 개념강의 - 3653번 문의드립니다
안녕하세요 선생님,강의 항상 잘 듣고 있습니다.선생님께서 사용하신 로직과 같은 방법을 사용했는데, 시간초과 오류가 납니다.http://boj.kr/c4454b07d21146c28d0b7044d67959ff어디서 잘못 되었는 지 알 수 있을까요? 확인해주시면 감사하겠습니다.감사합니다.
-
미해결[게임 프로그래머 도약반] DirectX11 입문
assimp 로 파일 저장후 로드할때 Release 모드로 하면 프로그램이 터집니다..
Assimptool 로 debug 모드인상태에서 파일데이터를 다시 저장한후 ,읽어드리면 정상적으로 작동하지만 , release 모드로 바꿔서 파일저장후 읽어드리면 메모리가 계속올라가면서 무한 대기상태에걸립니다. 혹시왜그럴까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
로또번호 질문
강의영상 21:47분쯤에 이미 찾은 값이라고해서 number[i] == randvalue랑 비교하는 조건식이 있는데요 현재 number배열에는 아무것도 들어가있지 않은 상태아닌가요? 코드를 쭉 봤는데 랜덤수를 넣어주는 곳이 없어서 도대체 무엇이랑 비교를 하는건가요??다른 부분은 다 이해되는데 지금 로또번호가 이해가 안됩니다.. ㅠ 그리고 하나더 int randomvalue = 1 + (rand() % 45); 를해서이 randomvalue를 number[i]에 for문으로 6번넣어서 출력을 할려했는데(중복 생각안하고)근데 출력이 안됩니다 이게 계속 그래서 뭐가 문젠지 몰라서 제가 변수를 지우고 그냥 number[i]에number[i] = 1 + (rand() % 45);를 직접적으로 대입해주니 출력이 잘 됐습니다 혹시 그 이유를 여쭤봐도 될까요??
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
Sort함수
제가 처음 강의를 보지 않고 만들었을때에는 void Sort(int numbers[], int count){ for (int i = 0; i < count; i++) { for (int j = 0; j < count; j++) { if (numbers[i] < numbers[j]) { int temp = numbers[i]; numbers[i] = numbers[j]; numbers[j] = temp; } } }이런식으로 만들었는데요 혹시 정상적으론 동작하는데 꼭 강의에 나와있는대로 만드는게 어떤 좋은 부분이 있을까요??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
split() 질문입니다.
#include <bits/stdc++.h> using namespace std; vector<string> split(string input, string delimiter){ vector<string> ret; long long pos = 0; string token = ""; while((pos = input.find(delimiter)) != string::npos){ token = input.substr(0,pos); ret.push_back(token); input.erase(0,pos+delimiter.length()); } ret.push_back(input); return ret; } int main(){ string s = "abcddabcddabcdabcabcdd", d = "d"; vector<string> a = split(s,d); for (string b : a) cout << b << endl; }안녕하세요 선생님 수업 재밌게 듣고있습니다.split함수도 잘 이해가 됐습니다. 그런데 질문 있습니다.만약 제가 만든 문장으로 split을 하면 제 생각에 결과는선생님이 알려주신 코드로 돌리면 {abc,"",abc,"",abc,abcabc} 가 나올것입니다.왜냐면 코드상에서 빈 문자열이 되더라도 token을 ret에 삽입하고 있기 때문입니다.그렇지만 제 생각에 올바르게 나오는것은 {abc,abc,abc,abcabc} 가 나와야 올바를것 같습니다.split이라는 함수가 token이 빈 string이 되더라도 무조건 vector에 삽입하는게 옳지 않다고 생각하는데어떻게 생각하시나요? 다음은 위 코드의 출력입니다.이상입니다. 감사합니다.
-
미해결홍정모의 따라하며 배우는 C++
디버깅 중 루프탈출
안녕하세요! 오랜만에 c++잡아보는데 갑자기 궁금한 게 생긴 것이아래에서 f10로 디버깅 진행한다면 for문을 만나 for문에 들어가게 되는데,이때 for반복문을 탈출하고 바로 밑 코드로 탈출하는 디버깅 단축키가 있을까요..?분명히 자주 썼었던 기억이.. 서칭해보면 shift+f11가 있긴 한데 이건 함수 같은 곳에서 탈출하게 되는 것이고밑의 for문에서 사용시 그냥 디버깅이 종료되는 것 같은데 이것 말곤 안 나오는 듯 합니다 :( 감사합니다.int main() { for (int i = 0; i < 1000; ++i) { 0; } std::cout << "ok" << std::endl; return 0; }
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
교안 38p char을 초기화할 때 NULL 초기화가 되지 않네요.
아래의 코드를 type.cpp파일에 작성하고,➜ c++ git:(master) ✗ g++ -std=c++14 -Wall type.cpp -o type.out컴파일을 했을때, 해당 NULL로 초기화가 안되는데 뭐가 잘못된 걸까요? ➜ c++ git:(master) ✗ g++ -std=c++14 -Wall type.cpp -o type.out type.cpp:35:14: warning: implicit conversion of NULL constant to 'char' [-Wnull-conversion] char c = NULL; // c에 NULL 매크로 할당, 이는 '\0'과 동일 ~ ^~~~ '\0' 1 warning generated. #include <bits/stdc++.h> using namespace std; int main(){ char a = '\0'; char b = 0; char c = NULL; string d = ""; cout << "hello"; if(a == b) cout << 1; // a와 b는 동일하므로 1 출력 if(b == c) cout << 1; // b와 c도 동일하므로 1 출력 // string(1, a)는 a를 하나의 문자로 가지는 문자열 생성, 이는 "\0"과 같음 if(string(1, a) == d) cout << 1; }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-L 주몽 다른 풀이 질문있습니다.
안녕하세요 선생님항상 강의 재밌게 풀이 해주셔서 감사합니다.http://boj.kr/687f2bbe76514a2f9614c1a633e26717문제를 풀면서 다른 풀이 방식으로 접근을 하였는데,궁금한 점이 생겨 질문드립니다.이중 for문을 사용하면 시간복잡도가 O(n^2)으로 생각하여 위 링크와 같이 생각을 하였는데, 이런 방식으로 접근하여도 올바른 접근법인가요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-M 반례 질문
안녕하십니까 큰돌님정답 맞추긴 했는데 틀렸던 코드 중에서 반례가 무엇이 있는지 궁금해서 질문드립니다.http://boj.kr/72c2759cc7fc49bc81d88d5c5cdbdd17
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
누적곱을 이용한 풀이
http://boj.kr/480d56cedce24b1887732ad80aad6c12 선생님, 안녕하세요~ 이번 문제를 풀때 누적곱을 이용했는데요.제일 앞부분에 1을 넣어놓고, n+1번째에 누적곱을 넣은 누적곱의 배열을 만들었습니다.그리고, 이중 반복문을 진행하면서 a[i]를 a[j]로 나눠보며 최대값을 구해봤는데요. (a[0]는 1이라서, a[i]를 a[0]로 나누면 i번째 까지의 누적곱, 그 이후부터는 연속된 앞부분으로 나눈 것)이중반복문으로 했다보니 시간초과가 나면 그렇구나 할텐데, 답이 틀렸다고 하니, 어디가 틀렸는지 잘 모르겠습니다. 처음부터 잘못 생각한 걸까요? 아니면 코드를 어딘가 잘못짠 부분이 있는걸까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-K insert 질문
큰돌님 안녕하십니까커뮤니티 찾아보니까 insert 함수 첫 번째 인자는 이터레이터 값이 들어가야 해서 begin() + '넣어줘야 할 위치' 가 들어가야 오류가 안 나고 정상 작동한다고 봤는데http://boj.kr/9fc8f9dd8de44b04b979a877da3962fd이렇게 해도 백준에서 맞다고 합니다. 또 Programiz(c++ online Compiler)로 코딩하는데 오류 안 나고 잘 작동해서 해서 질문드립니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-J 반례
안녕하십니까 큰돌님코드를 작성했었는데 틀렸다고 하는데 반례 어떤게 있을까요 ??반례와 왜 안 되는지도 설명 한 번 부탁드립니다 ㅜㅠhttp://boj.kr/4eae857b9f4243aa90c9206ce1aabd15
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
포인터vs배열 질문있습니다
제가 이해한게 정확한지 궁금해서 그러는데요예를들어 배열로 char[] a = "abcef";를 만들어 줬다고하면배열은 모든 문자를 한글자씩 밀어넣는다고 하면 char이 1바이트니까 제가 만든 배열은 NULL값도 포함해서 총 6바이트가 되는게 맞는건지 궁금하고요 만약 맞다면 그러면 int타입의 배열로 선언하면 예를 들어 char[] b = {1, 3, 4}로 선언하면 int는 4바이트니까 총 NULL값까지 16바이트의 크기가 되는건가요? 그리고 포인터는 32비트 혹은 64비트냐에 따라 무조건 4바이트 혹은 8바이트 고정크기인데이유는 포인터를 이용해서 문자열을 만들면 예를들어 "Hello World"를 넣는다고하면 먼저 데이터 영역 어딘가에 Hello World의 배열이 만들어지고 그 배열 첫번째 요소인 H의 주소를 가리키는 포인터다라고 해석했는데 맞을까요??
-
미해결readable_code::CMake - Fancy하게 C++ Project 만들기
configurate_package.cmake 의 project() 와 find_package()
gtest/configurate_package.cmake 에 project(GTest...) 를 넣으면 GTest 가 설치되지도 않았는데 find_package() 에서 있는 걸로 처리되어서 install 이 안되고 있습니다. 혹시 제가 놓친 부분이 있을까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-f 질문있습니다.
http://boj.kr/9bb703b0a79748328575376a22d93db1안녕하세요 선생님 강의 잘 듣고 있습니다.강의 에서는 if문에 if문을 적용하여 풀이를 하였는데,공유드린 소스처럼 26의 나머지 값을 사용하여 풀어도 괜찮을까요?결과는 동일 한데 어떤 방식으로 접근하는게 더 효율적인 접근방식인지 궁금합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-L 어디가 틀린지 모르겠습니다 ㅠ
안녕하세요 문제를 풀다가 예제는 다 통과하고 질문게시판도 전부 봤는데 어디가 틀렸는 지를 찾지 못하겠어서 질문글 남깁니다! http://boj.kr/0b960e678b4a42f4b5628dd239f9f22a
-
미해결[게임 프로그래머 도약반] DirectX11 입문
DirectXTex_debug.lib 파일 문의
섹션 1. DirectX11 입문 (1주차) 기본 프레임워크에서 DirectXTex_debug.lib 파일을 구하기 위하여 DirectXTex_Desktop_2022 솔루션을 Visual Studio 2022에서디버그 모드로 빌드를 해도 파일이 보이지 않습니다. 빌드할 때 빌드 구성(Configuration)을 ‘Debug’로 설정하고, 플랫폼을 ‘x64’ 로 선택 후 빌드하였습니다.빌드 과정에서 에러는 없었구요. DirectXTex_debug.lib 이 파일은 어떻게 얻을 수 있나요.