inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

3-O 15684 시간복잡도 질문드립니다.

해결됨

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

안녕하세요 선생님! 결국 시간초과 문제를 해결했긴 했지만, 시간 복잡도를 어떻게 계산하는게 좋을지 궁금해서 질문드리려고 해요. 시간 초과가 났던 코드 http://boj.kr/8fe9f1e620454720a985b58a993d229a 통과 됐던 코드 http://boj.kr/864f7c65db52442bada271fe193a2ec3 기본적으로 선생님의 설명대로, 300C3 == 대략 4,500,000(450만) 은 반드시 든다고 가정했어요. 이때, 두 코드의 차이점은 다음과 같아요. movePlayer + isSamePosition 함수를 각기 사용하는가 checkedPlayer 함수 하나를 사용하는가 만약 movePlayer + isSamePosition 를 사용한다면 제 생각에는 300 + 10 = 310 정도를 생각했고, 이로 인해 최종 시간 복잡도는 13억 5000만(450만 * 대략 300) 으로 생각했어요. 이는 13초 정도로 생각했고요. 하지만 checkedPlayer 함수를 사용하는 순간, 중간에 break 할 수 있어 300까지 계산할 일은 거의 없겠지만.. 정말 최악의 최악일 경우 n-1 player의 맨 h 행까지 계산해야할 수도 있을거라고 생각했어요. 그럼 결국 300까지 계산하게 되는거고, 이 또한 시간 복잡도가 13초 정도가 되는거고요. 그래서 제 질문의 핵심은 다음과 같아요. 시간 초과가 났던 코드, 통과한 코드의 시간 복잡도는 어떻게 계산해야하는가? 계산 결과 어떤 시간 복잡도를 가진다고 봐야하는가? checkedPlayer를 사용한다고 하더라도 최악의 경우에는 300번 가량을 계산해야하는 것은 마찬가지일 것 같은데, 왜 통과되는것인가? 물론 시간복잡도를 완전 정확히 계산할 수는 없지만, loop 횟수나 재귀함수의 호출횟수로 정량화하여 대략 예상하고 싶은데 이 예상치 조차 세워지지 않아서 혼란스러워 질문드렸어요 ㅜㅡㅜ

  • c++
  • 코딩-테스트
K케이 댓글 1 좋아요 0 조회수 46

Resource.h 코드 알려주세요

미해결

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

169.15.4 170.15.5 등에서 cpp 파일은 있어서 따라 코드를 치면서 컴파일러 해보는데요. 강의에서 Resource.h 코드를 몰라서 컴파일러 못하고 있어요. 코드 알려주세요. 컴파일러 해 보면서 확인하고 싶고, 강사님 의도를 이해하고 싶습니다. 감사합니다.

  • c++
j023039 댓글 1 좋아요 1 조회수 88

연습문제

해결됨

스스로 프로그래밍 하는 능력을 키우는 C++

아스키코드 강의부터 연습문제가 안 나오는데 원래 그런가요? 강의에서 숙제를 들가면 권한이 없다고 안 뜨네욤

  • c++
송대한 댓글 2 좋아요 0 조회수 128

SkyDemo에서 카메라 입력이 작동하지 않는 문제

미해결

[게임 프로그래머 도약반] DirectX11 입문

SkyBox 실습에서 화면에 텍스처 렌더링까지는 잘 되는데, 문제는 실행했을 때 WASD 입력을 넣어도 카메라가 움직이질 않습니다. 회전 행렬이 잘못 적용되어서 텍스처가 함께 이동하는 건가 해서 Update 에 아래와 같이 회전을 직접 줘봤는데, 이 때는 카메라 회전이 되어 하늘이 움직이는 것처럼 잘 보입니다. _camera->GetTransform()->SetRotation(Vec3(0, _rotation, 0)); _rotation += 0.25f * DT; 제공해주신 A-34)+SkyBox에서 다른 데모는 카메라 입력이 잘 되는데, SkyDemo 만 동일한 문제가 발생했습니다. 마찬가지로 카메라 입력이 먹히질 않습니다. 중단점을 찍고 디버깅을 해봐도 InputManager::Update() 와 CameraScript::Update() 가 매 프레임 정상적으로 호출되고 있었습니다. 혹시 SkyDemo 의 특정 초기화 순서나 렌더링 파이프라인 설정이 다른 데모와 달라서 입력 이벤트 처리에 영향을 주는 건 아닌지 궁금합니다. 아직 해결하지 못해서 질문을 올립니다..

  • c++
  • directx
  • skybox
Jaein Choi 댓글 2 좋아요 0 조회수 123

2-G a[i]로 입력을 받는 이유 질문

미해결

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

2-G a[i]로 입력을 받으시는데 다른 문제들과 연계되는 특별한 이유가 있는지 궁금합니다

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

이제 강의 더 안올라오나요?

미해결

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

전에 사놓고 이제 들으려고 봤는데 몬스터 AI부터는 비어있더라구요 커리큘럼이 다 안끝난 것 같은데 강의 더 안올라오나요??

  • c++
  • unreal-engine
  • dedicated-server
  • 언리얼-c++
ckxoghksdlek 댓글 1 좋아요 0 조회수 148

7강 스레드제어 강의, 26분경 질문입니다.

해결됨

Windows System 프로그래밍

기존 SetEvent(pThreadDescList[i].hEventList[0])에서 .hEventList[i]로 바꾸셨는데 기존대로 .hEventList[0]로 해야 핸들리스트에서 0번째에 해당하는 핸들을 받을 수 있는게 아닌가해서 질문드립니다. (해당 코드에서 [i]면 0번째 스레드는 0번째 핸들, 1번째 스레드는 1번째 핸들,,을 받아오는것 같아서..)

  • c++
  • 운영체제
  • system-programming
  • windows-programming
저니 댓글 1 좋아요 2 조회수 132

블로킹 시 피격 이펙트 오류?

미해결

실전! 언리얼 소울라이크 개발: A to Z

블로킹 시 데미지는 감쇠되지만, 피격 이펙트는 일반 피격 효과로 재생됩니다. 아래는 예시입니다. 현재 스태미나는 35 이다. 블로킹에 성공한다. TakeDamage() 에서 스태미나가 20 소모되어, 남은 스태미나는 15 가 된다. ImpactEffect() 에서 CanPerformAttackBlocking() 이 호출된다. CanPerformAttackBlocking() 은 스태미나가 20 이상인지 확인한다. 현재 스태미나는 15로 20 미만이다. 따라서 데미지는 막았지만, 피격 이펙트와 사운드는 재생 된다.

  • c++
  • unreal-engine
  • 언리얼-c++
eom5005 댓글 2 좋아요 0 조회수 87

AlreadyHitActor들을 TArray로 처리하는 것에 질문있습니다.

미해결

실전! 언리얼 소울라이크 개발: A to Z

Hit 액터들이 중복으로 들어가는 것을 방지하기 위해 CanHitActor에서 체크를 해주고 있는데요 중복방지를 위해서면 Set을 사용하는게 좋을 것같은데 TArray를 사용하신 이유가 있나요?

  • c++
  • unreal-engine
  • 언리얼-c++
ereum999 댓글 2 좋아요 0 조회수 75

nlogn 예시가 이해가 잘 안돼요

미해결

6. [노베이스/입문] 게임회사 코딩테스트 스파르타 클래스

안녕하세요! 8분 대의 nlogn 설명에서 정렬할 때 n이 곱해진다고 하셨는데 무슨 말인지 잘 모르겠습니다. C++의 stl의 sort함수가 nlogn으로 알고 있는데 그걸 말씀하신 건지?

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

공부중에 궁금한게 있습니다.

해결됨

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

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 교안내용을 아예 배껴와도 DevC++에서 a.pop_back(); 에서 에러가 자꾸떠요.. http://boj.kr/ca9f117386e64005af40d6311178f7ce

  • c++
  • 코딩-테스트
Git Hub 댓글 2 좋아요 0 조회수 81

질문하고 싶어서 너무 답답했습니다.

미해결

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

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이 강의를 먼저 듣는게 좋을까요? 아니면 강사님의 CS강의를 먼저 듣는게 좋을까요? 아직 강의 극초반이라 여쭤봅니다.

  • c++
  • 코딩-테스트
Git Hub 댓글 1 좋아요 0 조회수 60

char name[] 배열의 길이와 관련해 일부 궁금점이 생겨서 질문합니다

미해결

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

다른 분들 내용을 토대로 제가 작성한 코드가 어떤 원리로 동작하는지는 이해했습니다. 다만 cout << n_name << " " << (int(p) - address_start) <<endl; 이 부분에서 값이 10과 9가 나타났습니다.아마 '\0' 때문에 길이차이가 있었던걸로 추측되는데 맞는지 궁금합니다

  • c++
정웅현 댓글 2 좋아요 1 조회수 126

7-T 초기조건 관련 질문드립니다.

해결됨

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

안녕하세요, 늘 좋은 강의 감사드립니다. 다름이 아니라 해당 문제를 풀면서 go(idx, sum) 함수의 초기값을 어떻게 보내는지에 따라 오답처리가 되어 문의드립니다. 제가 처음 짠 코드는 다음과 같습니다. #include <bits/stdc++.h> using namespace std; typedef long long ll; const int INF = 987654321; ll dp[104][24]; int arr[104]; int n; int target; ll go(int idx, int sum){ if(idx==n-1){ if(sum==arr[idx])return 1; else return 0; } ll &ret = dp[idx][sum]; if(ret!=-1) return ret; ret = 0; if(sum+arr[idx] <=20){ ret += go(idx+1, sum+arr[idx]); } if(sum-arr[idx]>=0){ ret += go(idx+1, sum-arr[idx]); } return ret; } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); memset(dp, -1, sizeof(dp)); cin >> n; for(int i=0; i<n; i++){ cin >> arr[i]; } target = arr[n-1]; cout << go(0,0) << '\n'; return 0; } 위와 같이 go(0,0)으로 한 경우 오답처리가 되었습니다. 반면 go(1, arr[0])로 시작한 경우 정답처리가 됩니다. 제가 생각하기에 go 함수 내 조건문에 따라 음수값은 처리하여 go(1, arr[0])와 차이가 없다고 생각했는데 어디서 문제인거지 알 수 있을까요?

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

120. 비트마스킹 개념 #4 질문있습니다!

해결됨

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

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 질문 1. n의 범위가 30을 넘지 않고 조합문제라면, 비트마스킹이라고 가정하고 풀어도 될까요? 아니면, 문제마다 생각하는게 좋을까요? 질문 2. 매개변수 설명해주시는 부분에서 for(int i=1; i<n; i++){ go(1 | (1<<i)); } 위 부분은 0번째 인덱스인 사과가 1인경우. 즉, 사과를 포함하는 모든 경우의 수이잖아요. 여기서 사과를 포함하는 경우만 보는게 아니라 완탐을 하고싶다면, 굳이 함수 매개변수로 비트연산을 전달 안 하고 그냥 비트마스킹을 하면 되는거죠?

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

어떤 부분이 잘못됬는지 알수있을까요?

해결됨

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

http://boj.kr/e469d016f48d45fdba8b5dc64066e87c 문제풀이 로직은 다음과 같습니다. 1. 수빈이가 짝수 시간에는 0번 s_visited에 홀수시간에 도달한 장소는 1번 s_visited에 저장을 합니다. 동생이 이동하면서 수빈이와 같은 시간에 정확히 도착하거나 2만큼 차이가 난다면 바로 출력하게끔했는데 17 5 입력이 자꾸 4가 아닌 6이 나오더라고요

  • c++
  • 코딩-테스트
김현우 댓글 2 좋아요 0 조회수 47

3-G 테스트케이스 질문드립니다.

해결됨

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

안녕하세요 선생님! 선생님의 해설 잘 들었습니다. 다만 제 코드가 어떤 테스트케이스에서 걸리는지 도저히 모르겠어요. 3시간 넘게 테스트케이스만 만들고 테스트해봤는데 다 잘 되고 있어서.. 제 코드는 다음과 같이 구현되어 있어요. 경우의 수는 더하기라는 것을 활용 노드의 level(depth,거리) 단위로 bfs 진행 이를 위해 정적으로 size 활용한 while(size--) 활용 visited, cnt 배열로 각각 최소 거리와 최소 시간을 도출해냄 다만 제 코드의 유의할점은 prevLoopNum과 loopNum을 사용한다는 점이에요. 이는 0 -> 1 ---(더하기 1)--> 2 0 -> 1 ---(곱하기 2)---> 2 와 같은 경우에 서로 다른 경로로 인식되는 경우를 방지하기 위함이에요. 즉, 입력: 0 3 출력: 3 1 이 나오도록 만들기 위함이에요. https://www.acmicpc.net/source/share/cc7572065f6146b8850e8ee371089353

  • c++
  • 코딩-테스트
K케이 댓글 2 좋아요 0 조회수 72

3-K 질문

미해결

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

큰 돌 선생님 안녕하세요. 항상 명강의 잘 듣고 있습니다. (_ _) 다름이 아니라 약간 큰 돌쌤을 빙의해서 문제들을 먼저 풀고 > 해결을 보면서 차근차근 나아가고 있는데요. 다름이 아니라 3197 백조의 호수 2개의 Queue 로 푸는 건 인지했습니다. 그런데 시간 초과가 발생해서요. 코드 링크 http://boj.kr/23d82bb7e38c40b094f71a83b76d7e19 제가 예상하는 부분은 check() 메서드에서 fill(&visited2[0][0], &visited2[0][0] + (SIZE - 1) * (SIZE - 1), 0); 이 부분이 시간 초과에 영향이 큰 것 같은데 맞을까요? 문제는 이제 틀리더라도 맞는 방향으로 나아가는 것 같은데, 항상 문제를 풀고 나면 시간 계산을 할 때 어렵네요. 바쁘지 않으실 때 확인 부탁드립니다. 감사합니다.

  • c++
  • 코딩-테스트
김도현 댓글 2 좋아요 0 조회수 42

3-N 보충 의견 드립니다

해결됨

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

안녕하세요, 큰돌 선생님! 완전 이진 트리에 대한 설명에 대해 보충 의견 드리고자 글 남기게 되었습니다. 설명 중 "완전이진트리의 특징은 깊이가 3일 경우 2^3 - 1 = 7개의 노드를 갖는다" 라고 설명해주신 부분이 존재합니다. 다만 해당 특징은 완전이진트리 중에서도 포화이진트리 에 대한 설명으로 알고 있습니다. 문제의 조건 중 2^k - 1 개의 노드를 갖는다는 조건이 존재하기 때문에, 단순한 완전이진트리가 아닌 포화이진트리가 되기 때문에 해당 문제의 해설이 성립될 수 있었던 것이라고 생각합니다. 혹시 제가 완전이진트리에 대한 개념이 잘못된거라면 지적 부탁드립니다! 감사합니다.

  • c++
  • 코딩-테스트
K케이 댓글 2 좋아요 0 조회수 44

무기 콜리전 시스템에 대해

미해결

실전! 언리얼 소울라이크 개발: A to Z

이해한 내용 : 12 번째 강의를 보면 무기의 데미지 처리를 위해 CollisionComponent를 따로 생성하셨습니다. TickComponent에서 LineTracing 활성화 여부를 조절함으로써 원하는 공격 타이밍에 무기의 데미지 처리를 할 수 있게끔 구현하셨습니다. 질문할 내용 : 혹시 무기에 CapsuleCollision을 부착하여 CollisionComponent 자체의 콜리전을 NoCollision 혹은 Overlap 모드로 변경하는 식의 충돌 처리와 어떤 차이가 있는 지 알 수 있을까요 ??

  • c++
  • unreal-engine
  • 언리얼-c++
김대영 댓글 1 좋아요 0 조회수 129

인기 태그

인프런 TOP Writers

주간 인기글