inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

이문제 union & find로 풀수 있는데 이경우 dfs와 비교했을때 시간복잡도는 어떤 접근법이 나은가요?

해결됨

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

제목 그대로 union and find 알고리즘을 써서 이문제를 풀었습니다. 풀이를 보니 dfs를 써서 푸는 방법도 있는거 같은데 어떤 접근법이 시간 복잡도가 더 낮은 가요?

  • c++
  • 코딩-테스트
예비군갈나이 댓글 3 좋아요 0 조회수 166

수업 내용을 개인 블로그에 작성해도 될까요?

미해결

홍정모의 따라하며 배우는 C++

교수님의 수업 캡쳐보다는 제 코드에 대한 내용을 작성할 것이고, 출처도 명시해 놓겠습니다. 작성 목적은 포트폴리오 및 스스로 복기 하기 위해서 입니다. 혹시 가능한지 여쭙고 싶습니다 !!

  • c++
댓글 2 좋아요 1 조회수 175

friend키워드가 들어간 연산자 오버로딩함수를 클래스 내부에 정의하는 이유?

미해결

홍정모의 따라하며 배우는 C++

friend 키워드를 이용해 연산자 <<를 오버로딩한 함수를 정의할때, 전역변수임에도 불구하고 클래스 내부에 함수에 대한 정의까지 하는 이유를 잘 모르겠습니다. 클래스 내부에는 함수에 대한 선언만 하고 정의는 클래스 바깥에 하지 않는 이유가 있을까요? 강의중에 강사님께서도 몇번 헷갈리실정도로 가독성에 안좋고 처음 제가 이 내용을 학습할때도 굉장히 헷갈릴정도로 혼동을 유발하는것 같은데 이런 방식을 써야하는 이유가 있는지 궁금합니다

  • c++
윤지환 댓글 2 좋아요 1 조회수 113

Item#12 ItemTemplateID 에러

해결됨

[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)

Item#12 강의에서 마지막에 실행하려고 하면 아래와 같이 ItemTemplateID를 가져오지 못하는 문제가 발생합니다. 그 전까지 발생하지 않았는데 B_Character_Base와 B_HeroCharacter_Base 이동 후에 발생하는 것으로 보아 이 과정에서 뭔가 잘못된 것이 있는 것인지 문의 드립니다. ItemTemplateClass도 넘어오고 ItemTemplateClassToID에도 해당 항목이 있는 것 같은데 ItemTemplateID를 가져오지 못하는 것 같습니다. ItemTemplateID를 가져오지 못하네요

  • c++
  • unreal-engine
  • dedicated-server
  • 언리얼-c++
해질녘한잔 댓글 2 좋아요 0 조회수 209

포인터 사이즈와 주소값

해결됨

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하시렵니까 본론부터 말씀드리자면, 해당 강의 3분 27초경에 출력되는 값을 보면 0x...010 0x...010 0x...014 0x...014 라는 것을 확인할 수 있는데, 주소 값이 4가 커졌다는 건 int 배열의 각 값들이 4 Byte이기 때문이라고 이해했습니다. 다만 이전 강의에서 - int는 4바이트, double은 8바이트니까 포인터도 4, 8바이트가 되어야 하는 게 아닌가? - 포인터의 크기는 실행 OS 체제의 비트마다 달라짐 - Window OS 64비트를 사용하는 경우의 포인터 사이즈 = 8 Byte - Window OS 32비트를 사용하는 경우의 포인터 사이즈 = 4 Byte 이러한 내용을 확인할 수 있었는데, int 배열을 포인터로 변환했으니, 이전과 마찬가지로 주소값이 8이 커져야 한다고 생각했는데 그렇지 않았다는 점에서 의문이 생겼습니다! int 배열을 포인터에 할당하면서 포인터로 전환 되는 것이 아니라 단순히 주소를 할당했기 때문에 이런 일이 발생하는걸까요? 또한, 포인터의 크기가 8 Byte라고 했을 때, 연속되는 포인터라고 가정한다면 두 포인터의 주소값 차이는 8이 맞는지도 궁금합니다! 감사합니다.

  • c++
  • 코딩-테스트
Dongni 댓글 2 좋아요 0 조회수 96

세션8 우선순위 큐 pop함수의 Predicate 적용 관련 질문이 있습니다.

미해결

[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버

pop 함수를 보면 if (right < (int)_heap.size() && predicate( heap[next], _heap[right])) 인 left와의 비교에서 나온 결과 값을 비교하는 부분에만 predicate를 적용하였는데 위에 left와 비교하는 부분은 둘 중 더 큰 값을 next에 넣는게 목적인 코드입니다. 더 작은값을 찾을때 문제가 생길 수 있을것이라 생각이 되는데 문제가 생기지 않아 의문점이 생겨 질문 드립니다. left쪽엔 predicate 비교를 하지 않아도 되는 이유가 무엇일까요?

  • c++
  • 네트워크
  • ue-blueprint
  • 게임수학
  • windows-api
서버공부중 댓글 3 좋아요 0 조회수 213

4-H(#2234, 성곽)문제 DFS대신 BFS 사용

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

안녕하세요 선생님. #2234 문제에 대해서 Connected Component개념으로 DFS를 소개해주셔서 문제풀이를 이해하는데 수월했습니다. 다만, 처음 문제를 저 혼자 풀 때, 각 방 칸의 크기가 1이고, 방 칸의 개수에 따라 방 넓이가 결정되므로 가중치가 동일하니 BFS로도 풀 수 있지 않을까라고 생각되어 아래와 같이 풀어봤습니다. http://boj.kr/896f1a9fbf8e47628666c1c0a8c59db5 각 방을 탐색할때마다 queue를 생성하고 queue pop을 할 때마다 방 칸의 개수를 cnt++라는 변수에 담고, 탐색을 더이상 진행할 수 없을 때 방 칸의 개수값 cnt를 return하도록 하여 탐색했는데요. 문제에서 주어진 예제 입력1은 통과했지만 채점에서도 어떠한 반례에 걸려 fail이 발생한 것 같습니다. BFS 탐색 코드에 어떠한 문제점이 있는지 피드백 주시면 감사드리겠습니다... 감사합니다.

  • c++
  • 코딩-테스트
Gitae Kim 댓글 1 좋아요 0 조회수 95

MFC로 게임 엔진 제작 질문

해결됨

MFC Windows 프로그래밍 - 기본

안녕하세요 선생님 DirectX 및 MFC로 유니티 엔진과 대략 비슷한(?) UI를 가진 게임 엔진을 만들어보고 있습니다... 아래는 제가 참고중인 유니티 엔진의 UI 구성이며, 저도 위와 얼추 비슷한 구성으로 아래와 같이 CSplitterWnd 객체 여러 개를 사용하여 메인 프레임을 여러 개로 분할하여 아래와 같이 구성만 해둔 상태입니다. 드리고 싶은 질문은 CSplitterWnd로 창을 얼추 비슷하게 분할하고 각각에 적절한 뷰를 넣은것까지는 위와 같이 완료했는데요, 다만 오른쪽 아래 빨간색으로 박스 친 영역은 어떤 뷰 객체를 띄울지 런타임에 수시로 변경이 일어나야 하는 상황입니다. 이 기능을 구현해야 하는데 필요한 폼 뷰들을 미리 생성해두고 런타임에 계속 바꿔 끼는(?) 식의 구현이 MFC 프레임워크에서 가능한 일인지, 가능하다면 대략 어떤 식으로 해야 하는지 힌트를 주실 수 있으실까요?! 혹시 책에서 다루고 계신 내용이면 제가 찾아보도록 하겠습니다!

  • c++
  • mfc
  • gdi
  • sdi
  • vc++
  • win32api
지렁이 댓글 2 좋아요 0 조회수 218

5-f 질문입니다

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

우선순위큐 크기가 가방 총 크기보다 클 때만 큐에서 빼는 로직을 작성했는데 왜 틀렸는지 궁금합니다 #include<bits/stdc++.h> using namespace std; typedef long long ll; priority_queue<ll> pq; ll n,k,ret; int main(){ cin>>n>>k; pair<ll,ll> v[n]; //jewelry ll bag[k]; for (int i=0;i<n;i++){ cin>>v[i].first>>v[i].second; } for (int i=0;i<k;i++){ cin>>bag[i]; } int idx=0; //bag index sort(v,v+n); sort(bag,bag+k); int idx2=0; while (idx2<n){ while (idx<k && idx2<n){ if (bag[idx]<v[idx2].first) idx++; else{ if (pq.size()==k){ if (v[idx2].second>pq.top()){ pq.pop(); pq.push(v[idx2].second); } }else if (pq.size()<k) pq.push(v[idx2].second); } idx2++; } } while (pq.size()){ ret+=pq.top(); pq.pop(); } cout<<ret;

  • c++
  • 코딩-테스트
ililil 댓글 2 좋아요 0 조회수 76

'1-L' 시간 복잡도 질문 있습니다.

해결됨

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

n이 15000이고 2초의 제한 시간이라 조합이 떠올랐지만 이중 for문으로 풀 생각을 못했습니다. 문제를 재귀로 풀고 생각해보니 최악의 경우인 15000 * 15000이 될 수 없긴 한데 그래도 N^2의 시간 복잡도인데 어떻게 통과한 것인지 궁금하고 이런 경우 대충?의 시간 복잡도를 어떻게 계산해서 -> 이중 for문으로도 풀어도 되겠다라는 생각까지 이어지는 것인지 궁금합니다.

  • c++
  • 코딩-테스트
starkshn 댓글 2 좋아요 0 조회수 95

'1-L 재귀로 푸는 풀이' 재귀 시간복잡도 질문 있습니다,

해결됨

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

http://boj.kr/35af496c1fb44628be4b5f27dde803d3 문제 보자 마자 조합이 떠올라서 위처럼 풀었습니다. 코드 자체에 대한 질문은 아니고 '재귀함수의 시간 복잡도를 어떻게 계산'하는지 궁금합니다. 함수를 호출시 스택 프레임이 쌓이고 이것을 반환하고..등등의 작업 까지 생각하는 것은 아닌거같아 질문드립니다. 재귀 함수의 깊이가 100이면 O(100)으로 시간 복잡도가 잡히는 것인지 궁금합니다.

  • c++
  • 코딩-테스트
starkshn 댓글 1 좋아요 0 조회수 69

정답과 다르게 코드를 짜봤습니다

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

안녕하세요 정답과 다르게 코드를 짜봤는데 코드 평가 해주실 수 있나요?? http://boj.kr/e426c9cd01624541b5251528546a8eae 강의 잘 보고있습니다 감사합니다

  • c++
  • 코딩-테스트
developilwon 댓글 2 좋아요 0 조회수 88

21분 PAE 약자

미해결

Windows System 프로그래밍

PAE(물리적 주소 확장)는 x86 프로세서가 지원되는 Windows 버전에서 4GB 이상의 실제 메모리에 액세스할 수 있도록 하는 프로세서 기능입니다. x86 기반 시스템에서 실행되는 특정 32비트 버전의 Windows Server는 프로세서의 실제 주소 크기에 따라 PAE를 사용하여 최대 64GB 또는 128GB의 실제 메모리에 액세스할 수 있습니다. 자세한 내용은 Windows 릴리스에 대한 메모리 제한을 참조하세요 . Physical Address Extension 인 것 같습니다

  • c++
  • 운영체제
  • system-programming
  • windows-programming
댓글 2 좋아요 0 조회수 216

교안 p33 cout 질문드립니다.

해결됨

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

안녕하세요. 선생님. 강의 교안 p.33에서 cout << a << " " << "" << b << '\n'; "" 빈 문자열을 넣으신 이유가 있을까요? 빈 문자열을 빼도 출력 값은 동일하게 보이는데 어떤 의미로 넣으신건지 궁금합니다. 혹시 cout 설명처럼 입력할 문자열을 넣을 수 있다를 설명하기 위해서 그런건가요?

  • c++
  • 코딩-테스트
jessy4295 댓글 1 좋아요 0 조회수 64

마지막 문제 질문드립니다.

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

class Player; class Arrow { public: Arrow(Player*& target, int damage); ~Arrow(); public: void AttackTarget(); public: Player*& _target; int _damage; }; Arrow 부분의 생성자와 멤버 변수를 이렇게 바꾸고 Arrow* arrow = new Arrow(knight, archer->_attack); 이렇게 넣으면 될 줄 알았는데 안되서 Arrow* arrow = new Arrow(reinterpret_cast<Player*&>(knight), archer->_attack); 이렇게 강제 형변환을 해주니 실행되더라구요. knight의 부모가 Player니 암시적으로 형변환이 될 줄 알았는데 명시적으로 해주어야 하는 이유가 있나요?

  • c++
박건우 댓글 2 좋아요 0 조회수 201

4-C질문있습니다

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. #include<iostream> #include<algorithm> #include<vector> #include<utility> using namespace std; int n,person[14],ret =987654321,temp,temp1,visited[14],comp[14]; string s; vector<int> adj[14]; pair<int,int> dfs(int here, int value){//인접구 개수, 인구수 반환 visited[here] =1; pair<int,int> ret = {1,person[here]}; for(int there:adj[here]){ if(comp[there] != value) continue; if(visited[there]) continue; pair<int,int> temp_ = dfs(there,value); ret.first +=temp_.first; ret.second += temp_.second; } return ret; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin>>n; for(int i =1; i<=n;i++){ cin>>person[i]; } for(int i =1;i<=n;i++){ cin>>temp; for(int j =0; j<temp;j++){ cin>>temp1; adj[i].push_back(temp1); adj[temp1].push_back(i); } } for(int i =1;i<(1<<n)-1; i++){ fill(&comp[0],&comp[0]+14,0); fill(&visited[0],&visited[0]+14,0); int idx1=-1,idx2 =-1; for(int j =0; j<n;j++){ if(i&(1<<j)){ comp[j+1]=1; idx1 = j+1; } else idx2 = j+1; } pair<int,int> comp1 = dfs(idx1,1); pair<int,int> comp2 = dfs(idx2,0); if(comp1.first+comp2.first == n) ret = min(ret,abs(comp1.second-comp2.second)); } cout<<(ret==987654321 ? -1:ret); return 0; } 저는 이렇게 백준에 제출했을때 맞았다고 나오는데 제 vscode에서는 예제에서 밑에 만큼 입력하면 -1이 출력되어 끝나 버립니다 왜 그런건가요..? 다른 문제 풀때도 정답은 맞지만 제가 실행하면 도중에 입력을 그만 받습니다.. ㅠㅠ 6 5 2 3 4 1 2 2 2 4 4 1 3 6 5

  • c++
  • 코딩-테스트
gimg6156 댓글 3 좋아요 0 조회수 121

2-J BFS 코드 효율성 질문

해결됨

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

http://boj.kr/b3912cd4b65448baa4a27bea951494cb 안녕하세요, 큰돌님. 해당 문제를 queue를 이용한 BFS로 풀었습니다. 더 효율적으로 수정할 부분이 있을까요?

  • c++
  • 코딩-테스트
brigade98 댓글 2 좋아요 0 조회수 115

PawnExtensionComponent와 HeroComponent의 InitState 변천 순서

해결됨

[Rookiss University] UE5 Lyra 클론 코딩 (Haker&Liu)

로깅 및 디버깅을 해 본 결과,PawnExtensionComponent가 DataInitialized->GameReady를 거친 이후에 HeroComponent::OnActorInitStateChanged가 2번 호출되며 각각 PawnExtensionComponent가 DataInitialized, GameReady가 되었다고 콜백이 옵니다.. (PawnExtensionComponent가 DataInitialized된 이후에 바로 HeroComponent::OnActorInitStateChanged가 호출되어야 정상) 이로 인해서 ULCHeroComponent가 DataAvailable 상태에서 다음 단계로 진행이 안되네요. 무슨 문제일까요?

  • c++
  • unreal-engine
LJJ 댓글 2 좋아요 0 조회수 175

섹션9 함수 포인터 관련 질문입니다.

미해결

[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버

영상 초반 내용을 보면 using FuncPtr = void();는 잘 사용하지 않는 문법이라고 하고, 뒤이어 나오는 using FuncPtr = void(*)();와 같은 형식을 자주 사용한다고 했는데 동일하게 동작한다면 오히려 앞쪽이 더 편한 것 아닌가요? (*)를 추가하는 이유가 단순히 포인터임을 표시해주기 위함 인가요?

  • c++
  • 네트워크
  • ue-blueprint
  • 게임수학
  • windows-api
서버공부중 댓글 1 좋아요 0 조회수 159

인기 태그

인프런 TOP Writers

주간 인기글