묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-E 뮤탈리스크 질문
using namespace std; vector<int> V; bool cmp(int A, int B){ return A > B; } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N, temp; cin >> N; for(int i = 0; i < N; i++){ cin >> temp; V.push_back(temp); } int cnt = 0; while(V.size()){ sort(V.begin(), V.end(), cmp); int dmg = 9; cnt++; for(int i = 0; i < V.size(); i++){ V[i] -= dmg; dmg /= 3; } sort(V.begin(), V.end(), cmp); for(int i = V.size() -1; i >= 0; i--){ if(V[i] <= 0) V.pop_back(); else break; } } cout << cnt; return 0; } 안녕하세요. 강사님. 항상 수업을 잘 가르쳐 주셔서 감사합니다. 우선, 해당하는 강의를 듣고 푸는 것은 이해를 했습니다. 하지만, 강의를 듣기 전, 뮤탈리스크가 SCV의 체력이 많은 순서대로 때리는 것이 맞겠다고 생각했고, 이를 토대로 풀어본 코드는 위와 같습니다. 위 코드에서 백터 V라는 전역변수를 사용해 입력을 받습니다. 이후, 해당 벡터를 내림차순(=큰 순서대로)으로 정렬하고, SCV HP를 9, 3, 1 순서로 깎았습니다. 이 후, 다시 내림차순으로 정렬하여 벡터의 마지막 인덱스부터 HP가 0 이하이면 pop_back()을 해주었습니다. 위와 같이, 풀었을 때, 주어진 테스트 케이스는 통과했지만, 문제 제출 시 틀렸다고 나온 상태 입니다. 혹시, 위 코드로 풀었을 때, 문제점을 여쭤보고 싶습니다.
-
미해결[하루 10분|C++] 누구나 쉽게 배우는 C++ 프로그래밍 입문
컴파일에러
안녕하세요 강의를 잘 듣고있는 초보 학생입니다. 문의드릴것이 있습니다. 프로젝트 안에서 강의 별로 study_1,cpp, study_2,cpp 이런식으로 소스 파일을 만들어서 하고 있습니다. 근데 따라서 하는 도중 F5 눌러서 컴파일 하면 (study2에서) 코드명:LNK2005 또는 LNK1169 하는 에러가 발생하는데 어떤 이유인지요? 설명으로는 'main 이 이미 study_1에 정의 되어있습니다'라고 나오는데 어떤 이유에서인지.. 혹시 study_1, study_2 의 메인 함수명이 같아서 인지요??? (코드의 오타는 확인해 봤습니다. study_1에서도 같은 에러가 발생하네요..)
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
배운 내용과 실제 스택 작동방식이 다릅니다.
이전 강의에서는 함수가 스택 영역을 사용할 때 bp와 sp가 같은 위치인 상태에서 sp를 일정한 값으로 빼주고 빼준 값 만큼 스택 영역을 확보한 뒤 bp와 sp 사이의 공간을 메모장처럼 사용한다고 하셨습니다. 하지만 제가 직접 확인 해보니 sub esp, 0c0h로 sp를 빼는 것 까지는 맞으나, ebp와 esp 사이의 영역은 안 쓰고 0c0 만큼 빼진 새로운 esp 지점 부터 사용됩니다. 배운 거랑 달라서 혼란스럽네요 환경은 x86이고 vs2017 사용하고 있습니다 요약하자면 아래 그림과 같이 스택이 사용됩니다. 왜 이러는 건가요?
-
미해결홍정모의 따라하며 배우는 C++
0 아니면 다 true라고 하셨습니다.
왜 알파벳 하나 입력 했을때 false가 나오나요? d나 다른 알파벳도 넣으면 false가 나옵니다. 강의 시간 - 18:45 비쥬얼 스튜디오 버젼 2019 16.7.5
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
그래서 결국 클래스 내부의 _hp는 따로 캡처를 못하는건가요?
영상 마지막에 this를 캡처하게되면 어떻게되는지 잘 이해를 했습니다. 근데 결국 클래스내부에서 _hp만 캡처하여 사용하는방법은 없는건가요?
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
c언어로 질문드립니다!
질문1 c언어도 적혀있어서 c언어관련 강의인줄 알고 들었는데 c++수업이라 c로 바꿔서 코드 공부중인데요 c로된 코드자료는 없을까요? 질문2 "4.나이차이 강의"에서 파일을 이용한 c코드를 모르겠습니다 파일 읽어와서 작성하는 c코드부탁드립니다
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
헤더파일과 스마트포인터
루키스님, 1강 강의를 다 듣고 배운 문법들을 최대한 사용해서 TextRPG를 만들려고 하는 중입니다. 전에 헤더파일에는 최대한 include를 지양해야 한다고 하셨는데 위의 사진과 같이 스마트 포인터를 사용하려면 어쩔수 없이 include를 해야하나요? 아니면 다른 방법이 있을까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
RIP 레지스터
안녕하세요 다름이 아니라 rip 레지스터에 대해서 궁금한 게 있는데 rip 레지스터의 정의에 대해서 검색을 하니 1. 현재 수행 중인 명령의 주소를 가리키는 레지스터 2. 다음 수행 명령의 주소를 가리키는 레지스터로 나와있는데 2가지 의미가 동일한 의미인 것인가요? 아무리 생각해도 1번과 2번이 동일한 의미로 생각되지가 않습니다...
-
미해결홍정모의 따라하며 배우는 C++
읽기 및 쓰기에 대해 파일 포인터가 하나만 있는 이유가 궁금합니다.
#include <iostream> #include <fstream> #include <string> #include <sstream> int main() { using namespace std; // 1. 파일 입출력의 파일 포인터 // 테스트용 텍스트 파일 생성 fstream fs{ "test.txt", std::ios::out }; fs.close(); fs.open("test.txt"); fs << "THIS IS FILE STREAM.\n"; // 읽기 및 쓰기에 대한 현재 파일 포인터의 위치를 콘솔창에 출력 cout << "읽기 위치: " << fs.tellg() << '\n'; // 예상: 0 (파일의 시작 위치) cout << "쓰기 위치: " << fs.tellp() << '\n'; // 예상: 22 (THIS IS FILE STREAM.\n를 쓴 후의 위치) cout << endl; // => 그러나 동일한 결과를 출력한다. // 2. 문자열 스트림 입출력의 스트림 포인터 stringstream ss; ss << "THIS IS STRING STREAM.\n"; string str; ss >> str; cout << "str: " << str << '\n'; // THIS cout << "읽기 위치: " << ss.tellg() << '\n'; // 예상: 4 (THIS를 읽은 후의 위치) cout << "쓰기 위치: " << ss.tellp() << '\n'; // 예상: 23 (THIS IS STRING STREAM.\n 이후의 위치) return 0; } 강의 시청 후에 learncpp.com에서 관련된 챕터를 복습하던 중에 파일 포인터는 읽기 및 쓰기에 대한 파일 포인터가 동일하다는 사실을 알게 되었습니다. 그래서 텍스트 파일을 생성해 임의의 문자열을 파일에 작성하고 tellg()와 tellq()로 확인해봤습니다. 결과는 동일한 위치를 반환했습니다. 읽기를 하지도 않았는데 말이죠. 그런데 일반적으로 생각해보면 입력과 출력에 대해 서로 개별적인 포인터를 가져야할 것 같은데 입출력의 기능을 모두 하는 스트림이 동일한 포인터를 가진다는 게 이해가 안돼서, 이번에는 다른 스트림인 문자열 스트림으로 테스트를 했습니다. 놀랍게도 문자열 스트림은 입출력에 대한 포인터를 독립적으로 보유하는지 tellg()와 tellq()는 서로 다른 위치를 반환했습니다. 구글링으로 답을 찾아보려 했지만 능력의 한계로 찾지 못 했습니다. 왜 입출력 파일 스트림만 동일한 포인터를 가지는 건가요? 단독 언어에 국한된 문제가 아니라 운영체제에 관련된 것일까요?
-
미해결홍정모의 따라하며 배우는 C++
수업 내용은 아니지만 AI, C++ 질문 드립니다.
안녕하세요 강사님의 c강의를 듣고 c++까지 듣다가 최근 python만 사용하느라 c++은 신경쓰지 못하고 있는 대학원생입니다... 제가 모 대학 AI 대학원에 진학중인데 python으로 작성한 코드를 c++로 쉽게 구현 할 수 있는지 구글링해보다가 반갑게도 강사님 블로그에서 관련 내용을 보았습니다. 그래서 혹시 실례가 안된다면 c++로 딥러닝을 구현하는 것에 대해 여쭤보고 싶은데요 1. python 코드를 c++로 변환해서 사용이 가능한지요??(간단하게) 가능하다면 어떤 방법을 써야 될까요? 2. python의 numpy나 pandas 같은 자료구조를 c++에서 어떻게 사용 가능할까요? 3. 머신러닝의 KNN(클러스터) PCA(차원축소) 딥러닝의 CNN, GAN 이러한 기법들을 c++로 쉽게 구현이 가능할까요? 그리고 RESNET이나 skip-gan 같은 커스터마이징 된 딥러닝 모델들도 쉽게 구현 가능할까요?? 질문이 과목과 거리가 있고 쉽지않은 내용 같지만 혹시 답변 가능하시면 답변해 주시면 감사하겠습니다!
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
안녕하세요 질문이있습니다
연산자 오버로딩 전역함수 버전에서, ostream& operator<<(ostream& os, const Knight& k) { os << k._hp; return os; } 여기서 인자를 const Knight& k로 하면되고,const Knight* k로 하면 안되던데, &, * 둘다 주소값인데 왜 다른건가요?
-
미해결홍정모의 따라하며 배우는 C++
placeholder
bind, placeholder라는 개념이 잘 이해가 안되는데요! 1. bind를 사용하는 이유가 무엇인가요?2. placeholder의 의미가 무엇인가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
static 관련 질문이있습니다!
- 항상 좋은 강의 감사합니다. static질문이 있습니다. class Marine { public: //이 상태면 에러가 발생하는데, static int s_attack //전역으로 빼고 초기화를 해주면 에러가 발생하지 않습니다. } 왜 그런건지 궁금합니다. 따로 클래스 내부에서 static 변수를 초기화할려고 해도 에러가 발생하더라구요 무조건 클래스 밖에서 값 할당을 해주어야하나요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
연습문제 for문 풀이 순서를 잘 모르겠습니다
안녕하세요! 강의 너무 잘 듣고있습니다! 연습문제 풀이도중에 궁금한 부분때문에 질문 남깁니다! for 문 (초기식; 조건식; 제어식;) {} 에서 순서가 1번이 초기식 2번이 조건식 3번이 중괄호 안에 명령문 마지막으로 제어식이 실행되는걸로 알고있는데, 연습문제 별찍기 3번에서 for (int i = 0; i < input; i++) { for (int j = 0; j < (input - i); j++) { cout << "*" } cout << endl; } 이 부분에서 첫번째로 실행 되는게 1) int i = 0; 2) i < input; 3) 그 다음 for 문 4) *****출력 5) j++ 6) 한칸 띄고 7) i++ 인걸로 알고있습니다 이제 그러면 i++ 가 되었으니 input을 5라고 입력해줬을 때 1 < 5 나 똑같은 부분인데 이제 그 다음에 실행될 j부분에서도 j < (5 - 1) 이고 ****출력 후 j++가 되는데 그러면 이제 계속 증가하다보면 i 가 3이 되면 3 < input (5) 이고 다음 for문에서는 j < (input - 3) 이면 3 < 5 - 3부분이 되서 실행이 안되는게 아닌가요?? 제가 잘못알고 있는 부분이 있을거라고 생각하는데 어느 부분인지 잘 이해가 안가서요! 검색을 해도 강의만큼 크게 머리 속으로 잘 들어오질 않네요!
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
언어는 어느정도 공부하고 넘어가는게 좋을까요?
루카스님 강의 외에도 홍정모님 c++강의도 보는데요 일단 강의는 완강하고 이해 안가는 부분은 3~4번 돌려보고 그랬는데 사실 완강을 해서 문법은 어느정도 안다고 생각은 하는데 문법을 제대로 사용할 수 있냐라고 하면 아니라고 생각해요.. 공부하고 다음으로 넘어가는 기준을 어떻게 새워야 하는지 모르겠습니다.. 제가 c++ -> 다렉12 -> 언리얼 순으로 공부해서 게임하나 출시해보고 취업할 생각이거든요.. "이 정도면 c++ 기초 수준은 된다 이제 다렉으로 넘어가도 되겠다!"가 어느 정도일까요.. 머리가 나빠 언어공부를 오래해서 그런지 사실 점점 흥미도 떨어지고 빨리 구현하고 움직이는걸 보고싶고.. 괜히 조바심에 대충하고 넘어가서 나중에 이상한 버릇이 생기거나 할까봐 무서워요.. c++언어 완강을 하고 다렉으로 넘어가도 될지.. c++에 기초는 넘겼다는 기준이 뭘지.. 이럴떈 어떻게 해야될까요? ㅠ
-
미해결홍정모의 따라하며 배우는 C++
nampespace의 개념이 클래스와 흡사하나요?
예전에 겉핥기식으로 배운 c++에서 클래스를 배웠는데 강의를 듣는 도중 namespace에서 변수나 함수의 선언이나 namespace에 정의된 변수나 함수를 이용하는 방식이 클래스를 사용하는 용법과 비슷하다고 느꼈는데 namespace와 클래스의 관계가 궁금합니다.
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
c++공부 방법에 관해서...
덕분에 c++강의 잘 듣고 있지만 요즘 고민이 있어서, 한가지 여쭤보고자 합니다. 이전에 '포인터' 때문에 많이 애를 먹었는데, '클래스' 파트로 들어오고나니 더 힘들더군요 ㅜㅜ 이부분이 지루하고 많이들 어렵다고 하지만, 막상 처음 겪게 되니 요즘 공부하면서 멘탈에 금이가기 시작 하더군요... 혹시 이런 어려운 파트들은 어떻게 극복할 수 있는지 팁좀 알려 주실 수 있을까요?
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
char 배열의 null 문자에 대해 질문드립니다.
scanf함수를 이용해서 char 배열에 문자를 받아오게 되는데 선생님 강의에서 보통 char 배열을 for문으로 돌 때 '\0' null 문자를 이용하는 걸 배웠습니다. 근데 만약에 char arr[5]인 배열에 'abcde'를 scanf로 입력받는다면 어떻게 될지 궁금해서 프로그래밍을 해보니까 정상적으로 for문을 수행했습니다. 이런 경우엔 배열의 크기가 5인데 null 문자는 어디에 저장된 것일지, 어떻게 for문을 인식하고 수행한 것인지 궁금합니다.
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
c언어? c++?
안녕하세요! 강사님! 우선... 좋은 강의 열심히 듣고 있습니다! 저는 지금은 c언어 밖에 제대로 모르는 상태고 c++은 얕게 아는 상태인데, 그래서 이 강좌를 시작할 때, 이 강좌이름이 c/c++ 이라고 되어 있어서, c++을 잘 모르는데 들어도 되나 되게 걱정했었거든요 근데 막상 들어보니까 그냥 c언어만 알아도 아무 문제가 없더라고요 그래서 그런데, 미래에 코딩테스트를 응시할 때, 언어를 하나 선택하게 된다면, c언어를 선택하나 c++을 선택하나 큰 차이가 없는건가요??
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
저도 레지스터를 열어보고 싶습니다.ㅠㅠ
일단 엄청난 뉴비입니다..ㅠㅠ 별것 아닌것 같아보이는데 구글링을 아무리 해봐도 해결이 안되서 질문드립니다. 저도 레지스터와 메모리를 SASM에서 변수를 찾아보고 싶은데 (선생님 강의 초반부 레지스터쪽) SASM에서 show memory, show register 부분이 활성화가 안되어있습니다. SASM에서 한줄 한줄 디버깅을 하는것도 안됩니다. (구글링 해보니 이게 해결되면 show memory , show register가 활성화 될것 같더라구요.) 디버그를 누르면 소스코드 처음부터 끝까지 디버그 하고 끝났다고 표시됩니다. LG 그램 , 윈도우 10 사용자에요. 사진 한장 남깁니다. 강의 진도 나가고 싶은데 따라할 수가 없어서 슬퍼요.