묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨
제 C++ 공부순서 계획을 한번 봐주셨으면 좋겠습니다!
게임 프로그래밍을 목표로 공부를 시작한 지 일주일도 채 되지 않은 뉴 비입니다.제가 대학교 3학년이고 벌써 절반이 지났기 때문에 졸업까지 1년 반 정도 밖에 남지 않아선택과 집중을 해야 하는 관계로 C언어로 기초를 더 쌓고 싶지만 C++로 바로 시작하게 되었습니다. C++과 언리얼을 우선 공부하고 나중에 취직을 한 이후에 C#과 유니티를 배워볼 생각입니다.그래서 공부 순서에 대해 계획을 세우다가 궁금한 것이 생겨서 2가지 질문을 하려고 합니다.일단 제 공부 계획입니다.[하루 10분|C++] 누구나 쉽게 배우는 C++ 프로그래밍 입문위 강의로 현재 공부 중이며 C++에서 사용되는 기본적인 부분을 공부하고 있습니다.이제 이 이후가 고민인데요. 위 강의 이후로 [게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버위 강의가 C++도 포함해서 제게 필요한 부분을 전부 포괄적으로 배울 수 있어서 좋다고 생각하고 있습니다. 이 이후로는 편의상 1번 강의라고 칭하겠습니다.그러나 아직 C++에 대해 하나도 모르고 있는 제 생각에 필요한 C++의 지식들을 잘 녹여내셨을 것이라 생각되지만 위 강의만으로 C++의 공부는 일단락 짓고 넘어갈 수 있을까라는 의문과 걱정이 생겼습니다.그래서 생각한 것이 홍정모의 따라하며 배우는 C++위 강의가 C++에 대해서는 더 많은 것을 담고 있지 않을까라는 것입니다.이 이후로는 편의상 2번 강의라고 칭하겠습니다.그래서 일단 C++에 한해서 1번 강의보다는 2번 강의가 더 디테일할 것 같으니2번 강의로 일단 C++을 공부하고 이후 1번 강의로 복습도 하고 게임과 관련된 것도 배우는 것이 어떠한가라는 생각을 했습니다. 그래서 첫 번째 질문은 1번 강의로 바로 공부하는 것이 좋은가 or 2번 강의로 우선 공부를 한 이후 1번 강의로 공부하는 것이 좋은가에 대한 답변을 듣고 싶습니다.(무엇이 더 좋은가라는 부분이 너무 사람마다 다를 것 같다고 생각되신다면 시간이 1년 반 정도밖에 없지만 기초부터 탄탄하게 쌓아가야 하는 제 현 상황에서 어떻게 하는 것이 좋을지에 대해서 추천 부탁드립니다.) 마지막 두 번째 질문은 그 이후에 제 공부 계획을 보시고 "이런 부분은 중복되는 내용이 많으니 빼는 편이 좋다"거나 "이런 부분이 부족해 보이므로 이런 부분을 추가적으로 공부하는 것이 좋을 것 같다"와 같은 조언이나 "이 강의를 추가로 공부하면 이런 부분에서 더 좋을 것이다" 와 같은 강의 추천을 부탁드립니다. C++ 이후(물론 위의 공부만으로 C++을 마스터할 것이라는 생각은 하지 않지만 일단 계속 C++만 잡고 있을 수는 없기 때문에) 자료구조와 알고리즘을 공부해야 하기에그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)그림으로 쉽게 배우는 자료구조와 알고리즘 (심화편)그림으로 쉽게 배우는 운영체제이렇게 3가지 강의로 공부를 하고 (운영체제는 사실 꼭 필요하다는 이야기는 못 들었지만 일단 알아두는 편이 좋다고 생각해서 넣었습니다.) 언리얼 엔진 공부로 넘어가서언리얼 엔진4 입문 (C++ 기반)위 강의로 언리얼엔진의 기본을 다지고[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버위 시리즈 강의를 쭉 따라서 공부할 예정입니다.일단 여기까지가 제 공부 계획입니다. 아마 이 이후에는 포트폴리오를 만들고 하지 않을까 싶습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
백준 입력을 터미널에 복붙할 때 출력이 되버리는 이슈
안녕하세요~좋은 강의 잘 보고 있습니다.1 - G를 풀 때, 백준 입력을 그대로 터미널에 붙여 넣는 경우(복사 버튼 사용)에 아래 캡처와 같이 출력이 함께 되어 버리는데 이 케이스를 해결하는 방법을 혹시 아실까요? 해당 이슈 때문에 백준 제출 시에는 문제가 없는데 VSC에서 정답인지 아닌지 출력을 제대로 확인할 수가 없네요...참고로 위 출력 이슈의 소스코드는 문제 해설의 소스코드와 동일합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-D 다른 방법 질문
http://boj.kr/f1072a98c98a404992c7700849705b0c강의 듣기 전 작성해본 코드입니다.위치랑 시간 업데이트for문으로 상하좌우 탐색 이 때 push 시 시간도 같이 저장시간이 바뀌면 불 업데이트1~3번 반복 하는 도중 탈출 성공하면 return코드 시행 시 메모리 초과가 나오는데 어디에서 초과가 되는지 모르겠습니다.제 생각에는 아마 while 안의 push 부분에서 일어나는 것 같은데 pop을 해주는데도 메모리 초과가 일어날 수 있나요?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
연결 리스트 33분 부근에서 건너뛰기 같은게 되요..
연결 리스트 영상에서 33분 정도 쯤에 GetNode 메소드를 만드는 방법(원리?)를 간략히 설명하던도중 건너뛰기 같은게 됩니다..이거 어떻데 해야하나요..
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-W [2342] 문제 풀이 질문입니다.
강사님 안녕하세요,7-W 문제 조건 중에 최초 0,0 위치를 제외하고는 양발이 같은 위치에 있을 수 없다고 되어있는데요.풀이를 보면 왼발을 움직인 경우/오른발을 움직인 경우 각각에 대해서 min 값을 취하긴 하지만, 위에 말씀드린 양발이 같은 위치에 있는 경우에 대해 배제하는 조건이 없는 것 같아서요.현재 상태에 대한 발의 위치를 아래와 같이 나타낸다고 할 때,(왼발 위치, 오른발 위치)현재 상태가 (1,2) 이고 다음 밟아야하는 위치가 1 이면(1,2) 로 그대로 두거나, (1,x) 로 이동하는 경우만 있을 수 있는습니다.하지만, 풀이의 solve 함수에서, v[target] = 1 이 되니까,int left 의 경우에는 이므로 (1,2) 그대로 있지만,int right 의 경우에는 (1,1) 에 대해 solve 함수가 호출되지 않을까 생각이 됩니다.어쨋든 움직이지 않는 경우 (1,2) 가 노력이 덜 들어가므로 left 가 선택이 되었을 것으로 추측이 되지만, (1,1) 로 흘러들어간 DFS 가 이후에 어떤 값을 내보낼지 알수가 없을 것 같아서요문제는 통과했지만, 양발이 같은 위치에 들어오는 경우는 배제해야하지 않을까요?제 코드는 다음과 같습니다.http://boj.kr/8617c099286e4650b615631a7d5974cb
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
맞왜틀 ㅠㅠ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/93b33cb812b94777862c0d948104ad7f이 코드인데 왜 틀렸는지 도저히 모르겠습니다. ㅠㅠㅠ
-
미해결[하루 10분|C++] 누구나 쉽게 배우는 C++ 프로그래밍 입문
연산자 오버로딩
밑에 있는 코드들을 그대로 복붙해서 써봤는데 오류가 뜹니다.
-
미해결홍정모의 따라하며 배우는 C++
4.6 14:00 예제. int 입력인데 왜 퍼버에 남아있나요?
4.6 14:00 예제에 int age에 값을 1 입력 했는데 왜 그 값이 string에 넘어가는지 이해가 안됩니다. 이전 예제의 string name;에 jack jack을 입력한 경우는 띄어쓰기 때문에 버퍼에 jack이 남아있는 것은 이해를 했습니다. 그러나 int age;에 1을 입력하면 버퍼에 값이 안 남아 있어야 하는 것 아닌가요?
-
미해결홍정모의 따라하며 배우는 C++
15:55 return 생략시 쓰레기값 나오는 이유
getStruct() function에 retunr을 안넣어주면 trash value?가 나오는데 이유가 무엇인가요? (return 넣으면 제대로 작동해요)근데 trash value도 아닌 것이 동일한 값이 계속 나옵니다#include <iostream> using namespace std; struct S { int a, b, c, d; }; S getStruct() { S my_s{1, 2, 3, 4}; // return my_s; } int main() { S main_s = getStruct(); cout << main_s.a << endl; cout << main_s.b << endl; cout << main_s.a << endl; cout << main_s.b << endl; } >> 15644 1 15644 1
-
미해결코딩테스트 실전 모의고사(with C++) : 대기업 대비
#include<bits/stdc++.h>
안녕하세요.제목과 같은#include<bits/stdc++.h>이 헤더를 썼을때, visual studio 나 DevC++ 에서 실행이 되지 않고 있는데요.해결 방법이 있나요?#include <iostream>을 사용해서 실행은 되고 있습니다.그리고, 실제 코딩테스트에서는 제목의 헤더나백터, 큐 같은 라이브러리 함수를 사용하지 못하도록 되어 있는데, 예를 들면#include <stdio.h> 또는#include <iostream> 이 두가지만 허용이 됩니다.벡터, 큐, max, min, abs 등과 같이 직접 만들어야 하는 함수에 대해서 부가 설명이 있으면 좋을 것 같습니다.그리고, ios ... 등등 이전 학습을 완료해야 알 수 있는 것들에 대해서도 물론 이 강의를 수강하는 정도의 레벨이라면 알고 있는 수강생들이 많겠지만, 짤막하게라도 설명이나 찾아볼 수 있는 곳이 있으면 좋겠습니다. (별도 네이버나 구글링을 통해서 찾아보려고 생각 중 입니다.) 저는 이전 강의를 미수강하고, 바로 이 과목을 선택 했거든요. 그리고, C언어에서는 안 돌아갔었던 것 같은데, 레인지 베이스드 포문도 C++에서만 되는 건지 궁금합니다. 감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
_map[b]++; 질문드립니다.
안녕하세요!_map[b]++; 하게 되면 b에 입력된 값하고 인덱스번호가 자동으로 추가가 되는건가요?for(auto it : _map) cout << "first : " << it.first << " second : " << it.second << "\n";로 로그를 찍어봤는데 번호하고 값이 잘 나오기는 했습니다만 정확한 답변을 알고자 질문드렸습니다. 감사합니다!
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
Time limit가 걸리는데 어떻게 해결해야 할까요?
#include <stdio.h> #include <vector> using namespace std; int n, m; int answer = 0; void solution(vector<vector<int>> & arr, vector<int> & visited, int current){ if(current == n){ answer++; return; } visited[current - 1] = 1; for(int i=0;i<n;i++){ if(arr[current-1][i]!=0 && visited[i] == 0){ visited[i] = 1; solution(arr, visited, i+1); visited[i] = 0; } } visited[current - 1] = 0; } int main(void){ //freopen("input.txt", "rt", stdin); int start, end; scanf("%d %d", &n, &m); vector<vector<int>> arr(n, vector<int>(n)); vector<int> visited(n); for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ scanf("%d %d", &start, &end); arr[start-1][end-1] = 1; } } solution(arr, visited, 1); printf("%d", answer); return 0; }안녕하세요. 다름이 아니라 수업 듣기 전 짠 코드를 이용해 채점 프로그램을 실행시키면 모든 case에 대해 time limit가 나와서 질문드립니다. 위 코드에 어떤 문제가 있을까요? 채점파일 내에 있는 input.txt 입력받고 실행시키면 전부 정답으로 나옵니다.
-
미해결홍정모의 따라하며 배우는 C++
비트 연산 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의 14분에 item3 를 사용했을때items_flag &= ~opt3; 를 하셨는데items_flag ^= opt3; 로 해도 괜찮은가요?둘 사이에 차이가 있는지 아니면 같은 건지 궁금합니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-U 1450 냅색문제 메모리 초과 질문
http://boj.kr/c987a498c5014855a47dd70a1ca8da7f안녕하세요 큰돌님 !해당 문제 DP로 접근했는데 강의 초반에 말씀해주신 것처럼 메모리 초과로 실패했습니다.여쭤보고 싶은 것이 강의에서 'DP로 풀면 상태값 저장하기가 힘들다'라는 말씀해주셨는데 혹시 이 말뜻이 구체적으로 무엇을 뜻하는건가요? 저는 '결과들을 DP 배열 또는 다른 자료구조로 쌓아나가기 힘들다'라고 해석해서 처음 dp 배열을 map<pair<int,int>, int> 맵으로도 바꿔보고 sum과 idx를 1000곱하고 더해 하나의 longlong으로도 시도해봤는데요. 좀 더 생각해보니 상태값을 저장하다가 메모리 초과가 발생한 것이 아니라 재귀 스택이 너무 많이 쌓여서 메모리 초과가 발생한 것이 좀 더 meet in the middle 알고리즘을 사용하는 이유에 적합한 것 같은데 맞을까요?
-
미해결홍정모의 따라하며 배우는 C++
포인터 질문있습니다.
안녕하세요, 아래 두 코드가 동일하게 작동해야 한다고 생각했는데, 1이 틀린 이유가 궁금합니다.1. typedef int* pint; void bar2(const pint ptr) { int val = 1; ptr = &val; } 2. void bar(const int* ptr) { int val = 1; ptr = &val; } 1 full code #include <iostream> using namespace std; typedef int* pint; void bar2(const pint ptr) { int val = 1; ptr = &val; } int main() { int length2 = 2; pint ptr2 = &length2; bar2(ptr2); }
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-A 맞왜틀
안녕하세요. 선생님 ㅎㅎ 수업 잘 듣고 있습니다.수업에서 알려주신 visited 배열의 값들을 증가시키면서 depth를 세는 방법 말고, 구조체를 정의해서 문제를 풀어봤는데요?이게 어떤 방법은 틀리고 어떤 방법은 맞아서.. 어디서 차이가 나는지 궁금해서 질문드립니다.<맞은 코드>http://boj.kr/646d439f862e419ab3a865fdd7b1551b일단 큐에 현재 노드에서 갈 수 있는 노드(4방향)를 모두 넣고, 이후에 조건으로 노드를 선별하고, 혹시나 해서 아래와 같은 탈출 조건을 추가했습니다. if (row == m - 1 && col == n - 1) { res = depth; break; }<틀린 코드>http://boj.kr/516fe108a71c492e8c1967455f7222a1이번에는 큐에 넣기 전 예상되는 노드를 조건문을 통해서 선별하고 큐에 넣습니다.제 생각에는 이 코드가 큐에 들어가는 노드의 개수가 적어서 속도가 빠를 것 같은데, 메모리 초과가 나오더라구요;; <수정 코드>http://boj.kr/f72b373b45464778b8313fec9713ba18수정을 해봤는데 이번에는 틀린 코드랑 나머지는 똑같은데 반복문 안에서 큐에 넣자마자 바로 방문처리를 해주는 것입니다.for (int i = 0; i < 4; i++) { int nr = row + dr[i]; int nc = col + dc[i]; if (nr < 0 || nr >= m || nc < 0 || nc >= n) { continue; } if (puzzle[nc][nr] == 0) { continue; } if (visited[nc][nr]) { continue; } q.push({nr, nc, depth + 1}); visited[nc][nr] = true; } 이렇게 수정하니까 또 맞더라구요..<수정 코드>가 <틀린 코드>보다 메모리를 덜 차지하는 것은 알겠는데, <맞은 코드>가 <틀린 코드>보다 메모리를 덜 차지하는 잘 모르겠어서 질문드립니다.질문이 길어서 sorry...
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
어떤 예외가 있는지 잘 모르겠네요
안녕하세요 예제를 입력했을때는 잘 출력이 되는데제출을 하면 틀렸다고 뜨네요 어떤 예외가 있을까요?http://boj.kr/c2fcd5fb097e4953a6b6c06f900cb025감사합니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-C 질문
http://boj.kr/8688fcc2c590479b9ea68877d8ea7530선생님 저는 코드에 ? 있는 곳에 -1이 왜 있는지 이유를 모르겠습니다. 그리고 저기 있는 -1을 없애고 TC를 돌리면 세그멘테이션 폴트가 나오는데 그건 왜 그런건가요??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-G 결과가 잘 출력되는데 틀렸다고 결과가 나옵니다
http://boj.kr/116102baf98342ddbbb0c1926c191911안녕하세요. 문제 보고 코드를 작성하였고, 실행 시켰을때 결과도 문제에서 요구하는대로 잘 출력되는데 백준에서 채점 결과는 왜 틀렸다고 뜨는지 잘 모르겠습니다. 혹시 코드에서 잘못된 부분이 있는지 한번 봐주실 수 있나요?감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
출력 부분 질문
안녕하세요, 큰돌님!이번 문제를 풀 때, 저는 출력을cout.precision(4) cout << ret;이렇게 cout.precision()을 사용해서 제출을 했더니 틀렸다고 나오고printf("%0.3lf", ret); printf를 사용했을 때는 정답이라고 나와서 질문드립니다.입력을 cin으로 받았기 때문에 cout으로 출력을 하고 싶었는데두개의 차이가 무엇인지 궁금합니다.