묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
교안 p154 rotate질문입니다
1, 2, 3, 4, 5, 6을시계방향 : 6, 1, 2, 3, 4, 5반시계방향 : 2, 3, 4, 5, 6, 1이 된다고 설명하셨는데여기까지는 이해가 됩니다.그런데 아래 예제코드에 보면 begin, end 의 결과가 2, 3, 4, 5, 6, 1이 되어있습니다.그러면 begin, end가 반시계방향이라는 말인데p156에 보면 반시계방향은 rbegin, rend을 사용해서 그 결과가 6, 1, 2, 3, 4, 5가 된다고 했습니다.그리고 위에서 반시계방향은 2, 3, 4, 5, 6, 1이라고 했는데 어디서 뭐가 잘못되었는지 혼란스럽습니다...
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
공부방향에 대한 질문이 있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 현재 제 수준이 백준기준 실버 3~2 정도라고 생각합니다.그래서 강사님 풀이들 중 골드5에서 어려운 문제들부터는 어떤 알고리즘을 써야겠구나 정도는 인식을 하지만막상 구현을 하지 못해서 강사님의 문제풀이를 보고 이해하고 풀이를 기반으로 하여 그 문제를 다시 푸는 방법으로 공부를 하고 있습니다.(사실상 이해를 기반으로 암기하여 다시 풀어보는 듯 합니다.)모든 공부가 그렇듯 본인이 실력이 늘고 있는지 여부를 알기가 쉽지 않아 혹시 지금 제 공부방식대로 해도 괜찮을지 조언을 듣고 싶습니다.혹시 괜찮은 방법이 있다면 알고 싶습니다.!감사합니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
[3주차 개념 #1 강의] 승철이의 문단속 질문
안녕하세요 큰돌님,재귀를 아직도 정복 못 해서 복습 중에 있습니다. 리뉴얼 된 개념강의라서 냅따 돌려보고 있구요. 보다가 질문이 있어서 글을 작성합니다.문제 : 승철이의 문단속승철이는 도쿄 위의 빨간 구름위에 올라가있다. 이 구름은 그대로 내버려두면 땅으로 떨어져 100만명의 사상자가 발생한다. 구름을 멈추는 방법은 구름의 특정 위치에 요석을 꽂으면 된다. 해당 위치에는 숫자가 표기가 되어있고 몇 개를 골라 숫자의 합이 “소수"가 될 때 구름은 멈춘다. 총 몇 개의 경우의 수가 있는지 말하라.N개의 요석 후보의 숫자와 다음 줄에 해당 숫자들이 나온다. N <= 100강의에서도 13:29 에서 이해가 잘 되지 않습니다. 지금은, 소수인 숫자들에 대해서 누적되어 총합이 만들어지기 때문에 특정 숫자만 살아남는다고 이해했습니다.그런데 예시의 output에서 왜 176이라고 답이 나오나요?질문이 좀 길어졌는데, 정리하면 이렇습니다.(질문에 대한 답변 외에도 추가적인 코멘트 주실 부분이 있다면 감사히 받겠습니다.)Q1. 176의 의미가 정확히 무엇인가요? 176가지인가요?Q2. return check(sum); 의 결과는 1 또는 0인데 cout << go(0,0) << "\n"이 176이 되는 작동 원리가 뭔가요? return된 값을 들고 있는 go()가 다른 go()에 반환할 때 누적되어서 go(0,0)까지 쌓이는건가요?Q3. go()함수에서 return go(idx+1, sum + v[idx]) + go(idx+1, sum)과 같이 idx위치의 숫자를 더한 것과 더하지 않은 go()함수끼리 더하는 논리적 근거는 무엇인가요? 즉, 왜 더해야 했는지. 왜 return이라는 키워드를 사용해야 했는지 궁금합니다.Q4. 강의 영상을 보고나서 특정 숫자에 대해 포함한 경우, 포함하지 않는 경우를 활용하여 해결해야 한다고 표면적인 이해만 완료한 상태입니다. 하지만, 문제 해결을 위한 설계 부분에서 이해가 부족한 것 같습니다. 문제 해결을 위한 설계 부분에 대해서 좀 더 깊은 설명을 부탁드려도 될까요? 재귀함수 진짜 때려 잡고 싶습니다..
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
split함수 질문
이거 그냥 눈감고 쓸수있을정도로 외워야하나요?? 개념은 이해되는데 흐음
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] 번외편: ASP.NET Core 심화편
Rookiss 님 수업 커리큘럼에 관한 질문이 있습니다!
안녕하세요 Rookiss님!저도 Rookiss님처럼 보안을 공부하다 현재는 모의해킹 업무를 하고있고게임개발은 너무 어려운거 아닌가 하는 걱정만 하다가 이것저것 코딩하다보니 이제는 겁먹을 필요가 없다고 생각해서 게임개발을 시작해보려고 합니다! 지금 고민중인 부분은 강의 커리를 어떻게 탈지에 대한 고민인데요.[게임 프로그래머 입문 올인원] 강의를 수강할지MMORPG 게임 개발(유니티 + C#) 로드맵을 수강할지 고민중 입니다 ㅠㅠ어떤걸 수강하는게 좋을 지 추천 해주실 수 있을까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-c 질문입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.강의해주신 코드 보면 19번 라인에 int &ret = d[y][x];를 하셨는데 왜 int ret이 아닌 주소연산자를 사용하신건가요??제가 기초가 부족해서 그런지 코드 흐름이랑 알고리즘은 이해가 다 되는데 저런 세세한게 가끔씩 이해가 잘 안되네요...
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-D 반례 질문입니다.
안녕하세요 큰돌님, 3-D문제를 최단거리를 구하고 계산하는 방식 말고 1분동안 지훈 이동후, 불이동 이렇게벽 끝쪽에 갈때까지 반복문을 돌리고 반복문이 끝나면걸린시간을 출력하게 했습니다.만약, 반복문이 끝났음에도 지훈이가 벽끝 쪽으로 가지 못한다면 IMPOSSIBLE"을 출력하도록 했습니다.하지만, 2%에서 틀립니다. 반례가 무엇인지 궁금합니다...https://www.acmicpc.net/source/61254593
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
vetor구현 질문있습니다!
vetor를 구현하는 부분에서 질문 있습니다!*연산을 위해 아래와같이 구현하신걸 보고 이해가되지 않습니다..! for (auto i = v.begin(); i!=v.end(); ++i) { cout << *i << "\n"; } T& operator*() { return *_ptr}*연산을 통해 데이터를 꺼내오는 것이면 데이터의 복사값을 반환해주는게 아닌 어떻게 T& 주소값을 반환해주는 연산이 허용되는지 해당 문법이 잘 이해가 되지 않습니다..!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
return 0;는꼭 써야하나요?
함수 종료시킨다는건 알겠는데딱히 종료안시켜도 문제없는 로직같은경우엔 안써도 되나요? 아니면 메인에선 무조건 써주는게 맞나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
왜 그리디를 디피보다 앞선 주차에 넣으신지 궁금합니다
제목이 내용입니다
-
미해결홍정모의 따라하며 배우는 C++
3.6 논리연산자 25:30초에 4번째 문제 관련하여 질문드립니다.
if ((14 > 13 || 2 > 1) && (9 > 1 ))에 대해 출력을 해봤습니다.저는 14>13은 false이고 2>1은 false이기 때문에 (14 > 13 || 2 > 1) 부분이 false가 돼서 정답은 false가 출력 될 것이라고 생각했습니다.그런데 정답은 true로 출력이 됩니다. 왜 이런지 알고 싶습니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-S 맞왜틀 질문입니다.
http://boj.kr/2a352c064de74fceac1f3b23cfdb40c347번째줄~52번째 줄까지 제가짠 로직인데벡터에(자식수, 노드번호)를 넣고max값과 같은 노드번호(second)들만 출력하도록 하였는데틀렷습니다 가 뜹니다. 도와주세요. 저부분만 강사님 로직으로 교체했을때는 통과되는데 뭐가 틀렷는지 모르겠습니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
왜 int를 안쓰고 전부 longlong으로 하신지 궁금합니다
헷갈리니까 그렇게 하는건가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3#1 if(n%2==)return 0 하고 다음에 i=2로 같은 작업을 반복할필요 없지않나요
for(int i=3으로 해도 되는데 그냥 i=2로 쓰신건가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
각 주차별 문제의 시간복잡도
각 주차별 문제들의 시간 복잡도는 안알려주시는 건가요?제가 계산한 게 맞는지 확인하고 싶어서 그렇습니다!
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
메모리 주소값 더하는게 이해가 안되요 ㅠㅠ
주소값이라는 개념은 이해가 됬는데요강의 변수와 레지스터 15분쯤 보면1바이트를 더했는데 왜0x403010에서 0x403011로 된건지 잘모르겠네요..저기 뒤에 숫자 1은 바이트가 아니라 1을 더한거아닌가요?
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
질문있습니다!!
안녕하세요 선생님 저는 59번 문제를 참고하여 진행을 하였습니다. 제가 작성한 코드중에서 뭐가 틀린건지 봐주시면 감사드리겠습니다.틀린 부분을 잘 몰라 질문 올립니다.#include <iostream> #include <vector> using namespace std; int n, tatal = 0; int ch[11]; int a[11]; void DFS(int L, int sum) { int sum2 = 0; if (L == n + 1) { for (int i = 1; i <= n; i++) { if (ch[i] == 1) { sum = sum + a[i]; } if (ch[i] == 0) { sum2 = sum2 + a[i]; } } if (tatal - sum == sum2) { cout << "YES"; } else { cout << "NO"; } } else { ch[L + 1] = 1; DFS(L, sum); ch[L + 1] = 0; DFS(L, sum + a[L]); } } int main() { cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; tatal = tatal + a[i]; } DFS(1, 0); //시작점 합 }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
unique 교안 s 벡터 erase 질문
vector<int> s {4, 3, 3, 5, 1, 2, 3};s.erase(unique(s.begin(),s.end()),s.end());for(int i : s) cout << i << " ";의 결과가4,3,5,1,2(,2,3 제거) 이렇게 되어야 하지 않나요?왜 4,3,5,1,2,3으로 나오는 건지 잘 모르겠습니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
재귀를 이용한 순열 코드 질문
재귀를 이용한 순열 코드를 학습하면서 이와 관련된 백준 문제를 풀어보려고 하였습니다!백준 15649 N과 M(1) 문제 같은 경우 순열을 출력하는 문제여서 학습한 코드를 사용하면가능할 것이라고 생각했습니다. 그런데 교안에 있는 코드는 순열의 오름차순이 보장이안되는 것 같습니다. 교안에 있는 코드를 최대한 활용해서 백준 15649번 문제를 풀고 싶은데, 순서가 오름차순이 되도록 순열을 출력하려면 교안의 코드를 어떻게 수정해야 할지 모르겠습니다!https://www.acmicpc.net/problem/15649
-
미해결
C++ 클래스 인스턴스의 지역변수 초기화 오류 & C4996 에러
#include<iostream> #include<cstring> #define LENGTH 40 using std::cout; using std::endl; class Person { char* name; int age; public: void SetName(const char* str) { // 설정자는 잘못된 값이 설정되는 것을 방지하기위해, 그 값을 먼저 검사한다. if (!str) return; // 문자열을 멤버 변수 name에 복사 strncpy(name, str, LENGTH); } void SetAge(int n) { age = n < 0 ? 0 : n; } inline char* GetName(const char* str) { return name; } inline int GetAge(int n) { return age; } void Print() { cout << "name: " << name << ", age: " << age << endl; } }; int main() { Person jackson; Person brown; Person dean; // 각 객체의 설정자로 멤버 변수에 값을 설정 jackson.SetName("Michael Jackson"); jackson.SetAge(29); brown.SetName("Charles Brown"); brown.SetAge(40); dean.SetName("James Dean"); dean.SetAge(20); // print out jackson.Print(); brown.Print(); dean.Print(); return 0; } main함수 내에서 Person클래스의 객체 인스턴스들을 만드려는데, 자꾸 저 부분에서 지역변수가 초기화되지 않았다고 하네요... 설정자를 통해서 인스턴스 내 멤버 변수에 값을 대입했는데도 불구하고 말이죠. 정확히 무슨 문제인지 모르겠습니다.2번째는 C4996코드 오류인데요. strncpy함수가 위험성이 있으니 strncpy_s함수를 대신해서 사용하라고 하는데, 보안의 위험성을 떠나서 strncpy함수를 사용하면 오류가 나는 이유가 있나요