inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

부동소수점의 지수 부분

해결됨

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

안녕하세요 실수를 표현하는 방법 중 지수 부분이 조금 관심이 가서 인터넷을 찾아봤는데 00000000과 11111111은 사용이 안되어서 00000001 ~ 11111110까지 활용이 가능하다고 하더군요.. 여기까지는 그렇구나 했는데 이게 10진수로는 -126 ~ 127이라고 해서 많이 헷갈립니다... 1바이트인 char의 경우에는 -128 ~ 127까지가 표현범위인 것으로 알고 있고 00000001 ~ 11111110이면 -127 ~ 126이 되어야된다고 생각하고 있었거든요 중요한 부분인지는 잘 모르겠지만 순수하게 궁금합니다... p.s. 새로운 내용들을 공부할 때마다 예전에 배웠던 내용들 중 잘 사용하지 않는 부분들은 자꾸만 잊어버리는데(ex - bitflag) 좋은 방법이 있을까요?;;

  • C++
댓글 1 좋아요 1 조회수 390

하위 네임스페이스에서 상위 네임스페이스의 함수에 접근할 수 있는 이유?

미해결

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

MySpace1안의 InnerSpace라는 하위 네임스페이스에서 MySpace1의 함수인 doSomething(int a, int b)을 호출해보았습니다. InnerSpace에서 MySpace1의 함수에 접근할 수 있는 이유가 뭔가요? main에서 함수를 호출하는 원리와 같은가요? namespace MySpace1 { int doSomething(int a, int b); namespace InnerSpace { int my_function() { cout << doSomething(3, 4) << endl; return 0; } } int doSomething(int a, int b) { return a + b; } }

  • 네임스페이스
  • c++
  • C++
  • 따배씨
  • namespace
지우 댓글 1 좋아요 0 조회수 374

람다식과 함수포인터 관련 질문입니다.

미해결

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

위와같이 람다함수를 함수포인터에 대입하는건 에러가 안나는데 람다 캡처 블록에 값표시(=),참조표시(&)를하면 에러가 생기는데 이유를 모르겠습니다.

  • C++
후꾸루꾸 댓글 1 좋아요 0 조회수 541

바이트와 관련하여서 질문이 있습니다

미해결

[하루 10분|C++] 누구나 쉽게 배우는 C++ 프로그래밍 입문

1비트에는 2가지가 들어갈 수 있고 8비트는 1바이트로 2^8 = 256가지가 들어갈 수 있다는 것을 찾아보았는데요 그렇다면 short의 경우에는 최대 바이트가 2바이트이며 가짓수가 -32767 부터 0 32767까지 이잖아요 근데 여기에서 제가 2바이트를 계산해본 결과 256*256 = 65536이고 이를 2로 나누면 32768인데 그렇다면 디버그해서 나온 값인 32767의 값은 0을 제외하고 계산하여서 이 값이 나온건가요? 어떻게 해서 32767이 나오게 된 건가요? (unsigned을 했을 경우 66535입니다)

  • C++
박수현 댓글 1 좋아요 0 조회수 291

메모이제이션 관련 질문있습니다.

미해결

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 1:1 문의하기를 이용해주세요. 안녕하세요 강사님 좋은 강의 감사드립니다. 한 가지 이해가 되지 않는 부분이 있어 질문드리려고 합니다. 트리를 일일이 뻗지 않게 하려고 메모이제이션을 쓴다고 뒷부분에서 말씀하셨는데, 26분 13초에 그림을 보니 unf[v] = Find(unf[v])를 하는 것 자체가 계속 가지가 뻗는 것처럼 보입니다. 그냥 가지를 뻗는 것과, 메모이제이션이 똑같다는 느낌을 받는데, 혹시 차이가 정확히 어떤 것인지 궁금합니다.

  • C++
  • 코테 준비 같이 해요!
yhm1620 댓글 1 좋아요 0 조회수 297

size() 대신 length() 사용해도 무방한가요

미해결

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

구글링을 해보니 return 값은 동일하다고 하는데 length()대신 size를 사용하는 특별한 이유가 혹시 있나해서 질문합니다.

  • C++
  • 코테 준비 같이 해요!
댓글 1 좋아요 0 조회수 286

12분 질문

미해결

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

레지스터의 크기에 따라서 예약된 이름이 다르다고 하셨는데 이상태의 경우인데 강의에서는 mov eax, 0x1234 mov rbx, 0x1234567 mov cl, 0xff 이렇게 해주셨는데 그러면 eax라는 이름에 0x1234가 왜 안들어가고 rax에 값이 들어가나요? rax는 64비트이고 eax는 32비트의 이름을 가진 레지스터인데.. 이해가 잘 가지 않습니다.

  • C++
starkshn 댓글 2 좋아요 0 조회수 455

C++ 에서는 메인 함수 밖에서 쓰면 0과 공백으로 초기화되나요?

미해결

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

int t, n; string a, b; int main(){ int m; ... } 컴파일 후 실행해보니, 메인 함수 안에서는 쓰레기 값이 들어가고 메인 함수밖에서는 항상 0이나 공백으로 초기화되어있는 것 같아서요. 혹시 왜 그런건지 알 수 있나요? 감사합니다.

  • 코테 준비 같이 해요!
  • C++
ryumirr1 댓글 2 좋아요 0 조회수 468

소멸자 호출 질문

미해결

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

제가 따라 하면서 좀 다르게 코드를 만들어서 돌려봤는데 소멸자가 왜 한번만 호출이 되는지가 이해가 안되서요 제가 생각에는 re의 소멸자랑 re2의 소멸자 그리고 re3에서 만들어진 복사생성자에서 호출하는 Resource(source.length); 여기서만든 생성자랑 re3에서 만들어진 거랑해서 총 4의 소멸자가 호출이 되어야 한다고 생각하는데 1개만 호출이 되서요 왜그런건가요?

  • C++
SH 댓글 1 좋아요 0 조회수 420

compare_exchange_strong과 compare_exchange_weak

해결됨

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

compare_exchange에 해당하는 두가지 함수가 있기에 궁금하여 해당 내용을 찾아보았지만 이해가 가지 않습니다. https://cplusplus.com/reference/atomic/atomic/compare_exchange_strong/ Unlike compare_exchange_weak , this strong version is required to always return true when expected indeed compares equal to the contained object , not allowing spurious failures . However, on certain machines, and for certain algorithms that check this in a loop, compare_exchange_weak may lead to significantly better performance. 1) spurious failures? weak는 해당 오류가 어떻게 나올 수 있다는 걸까요? 2) weak와 strong을 선택하는 대표적인 기준은 무엇인가요?

  • c++
  • atomic
  • MMORPG
  • windows-server
  • compare_exchange
  • network
장인석 댓글 1 좋아요 0 조회수 1181

14분부터 나온 atomic 헤더와 C++버전에 관한 질문입니다.

해결됨

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

코드를 따라치면서 컴파일해보다가 14분 30즘에 나온 방식으로 atomic<int32> sum = 0; 으로 치고 컴파일 했을 때 -std=c++11과 -std=c++14로는 에러가 났습니다. 1) atomic은 C++ 버전 몇에서 표준화되고 추가되었나요? 2) 지금은 모든 Makefile의 CXXFLAGS에 -std=c++17를 추가해 통일시켜놨는데 앞으로 나오는 강의를 기준으로 C++17로 괜찮을까요? 아니면 해당강의에 맞는 추천버전이 있으신가요?

  • c++
  • network
  • atomic
  • c++17
  • MMORPG
  • windows-server
장인석 댓글 1 좋아요 0 조회수 370

2468 안전 영역

해결됨

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

안녕하세요 이제 막 알고리즘 시작한 코린이 입니다. 큰돌님 처음으로 질문 드려봅니다!! dfs 문제에서 어디서 오류가 났는지를 못찾겠어서 도움 요청드려요.. 그리고 꼭 여쭤보고 싶은게 ny랑 nx 또는 y와 x의 순서는 x y 가 아니라 왜 항상 y부터 먼저 사용하는 건가요? 그 부분이 조금 헷갈려서 여쭙고 싶어요 선생님. #include <bits/stdc++.h> using namespace std; const int max_n = 104; int n, ret, a[max_n][max_n], e[max_n][max_n], h = 1; bool visited[max_n][max_n]; int dx[4] = {-1, 0, 1, 0}; int dy[4] = {0, 1, 0, -1}; void dfs(int y, int x) { visited[y][x] = 1; for (int i=0; i<4; ++i) { int ny = y + dy[i]; int nx = x + dx[i]; if (ny < 0 || ny >= n || nx < 0 || nx >= n) continue; if (e[ny][nx] == 0 && !visited[ny][nx]) dfs(ny, nx); } } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n; for (int i=0; i<n; ++i) { for (int j=0; j<n; ++j) { cin >> a[i][j]; } } while (h <= 100) { fill(&visited[0][0], &visited[0][0] + max_n * max_n, 0); int temp = 0; for (int i=0; i<n; ++i) { for (int j=0; j<n; ++j) { if (e[i][j] == 1) continue; if (a[i][j] <= h) e[i][j] = 1; } } for (int i=0; i<n; ++i) { for (int j=0; j<n; ++j) { if (e[i][j] == 0 && !visited[i][j]) { dfs(i, j); ++temp; } } } ret = max(ret, temp); ++h; } cout << ret << "\n"; return 0; }

  • 코테 준비 같이 해요!
  • C++
강토토 댓글 2 좋아요 0 조회수 304

시간 범위가 작아서 누적합으로도 풀 수 있네요.

미해결

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

변화량 누적합으로 풀었습니다. #include <bits/stdc++.h> using namespace std; int fee[4], a[101], ans = 0; int main() { for (int i = 1; i <= 3; ++i) { cin >> fee[i]; } for (int i = 0; i < 3; ++i) { int s, e; cin >> s >> e; ++a[s], --a[e]; } int car = 0; for (int i = 1; i <= 100; ++i) { car += a[i]; ans += car * fee[car]; } cout << ans; return 0; }

  • C++
  • 코테 준비 같이 해요!
댓글 1 좋아요 0 조회수 392

c++ 입문자인데 질문 드립니다 ㅠㅠ

미해결

출력한 구구단을 입력 받은 후에 그 입력 받은 단 보다 1,2단씩 큰 단을 출력하는 문제인데 제가 쓴 코드가 일단 저기까지 써서 일반적인 구구단 출력까진 하겠는데 1,2단씩 큰 단을 어떻게 출력하는질 모르겠어서 ... 도와주실 분 계실까요 int i,dan; printf("단을 입력하세요 :"); scanf("%d", &dan); for(i=1; i<=9; i++){ printf("%d * %d = %d\n" , dan, i, dan * i); // 일반적인 구구단 } return 0; }

  • c++
mnbvc3578 댓글 0 좋아요 0 조회수 218

이 방법은 시간복잡도가 On2 정도일까요?

미해결

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

int main() { freopen("input.txt", "rt", stdin); int n; scanf("%d", &n); std::vector<int> list; int sum = 0; int count = 0; for (int i = (n/2) + 1; i > 0; i--) { int temp = i; sum = 0; list.clear(); while (true) { sum += temp; list.push_back(temp); temp--; if (sum == n) { for (int k = list.size() - 1; k > 0; k--) { printf("%d + ", list[k]); } printf("%d = %d\n", list[0], sum); count++; break; } else if (sum > n) { break; } } } printf("%d", count); return 0; } 반복문이 3번 등장해서 좋지 못하다고 생각듭니다. 시간복잡도가 On2 이상 일까요?

  • C++
  • 코테 준비 같이 해요!
댓글 1 좋아요 0 조회수 399

반복문 한번으로 끝낼 수 있을 땐 한번만 사용하는 것이 좋을까요?

미해결

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <vector> #include <algorithm> int main() { freopen("input.txt", "rt", stdin); int n; int nList[101] = { 0, }; scanf("%d", &n); for (auto i = 0; i < n; i++) { scanf("%d", &nList[i]); } int m; int mList[101] = { 0, }; scanf("%d", &m); for (auto i = 0; i < m; i++) { scanf("%d", &mList[i]); } int results[201] = { 0, }; int p1 = 0, p2 = 0, p3 = 0; while(nList[p1] != 0 || mList[p2] != 0) { if (nList[p1] > mList[p2] && (nList[p1] != 0 && mList[p2])) { results[p3] = mList[p2]; p2++; } else if (nList[p1] < mList[p2] && (nList[p1] != 0 && mList[p2])) { results[p3] = nList[p1]; p1++; } else { int temp = 0; if (nList[p1] != 0) { temp = nList[p1]; results[p3] = temp; p1++; } else { temp = mList[p2]; results[p3] = temp; p2++; } } p3++; } for (auto i = 0; results[i] != 0; i++) { printf("%d ", results[i]); } return 0; } 안녕하세요 강사님. 반복문을 한번으로 끝낼 수 있는 문제는 한번만 사용하는 것이 좋을까요? 대신 조건문이 좀 더 많아지는데 반복문을 줄이는게 다른 알고리즘에서도 더 효과적인지 궁금합니다.

  • C++
  • 코테 준비 같이 해요!
댓글 1 좋아요 0 조회수 221

배열의 처음부터 접근해도 괜찮을까요?

미해결

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <vector> #include <algorithm> int main() { freopen("input.txt", "rt", stdin); int cacheSize, tasks; scanf("%d %d", &cacheSize, &tasks); std::vector<int> cacheList(cacheSize, 0); int i = 0; for (int task = 0; task < tasks; task++) { if (i != cacheSize-1) { i++; } int k; int input; int pos = 0; scanf("%d", &input); // Hit 위치를 찾아낸다. for (k = 0; k <= i; k++) { if (cacheList[k] == input) { pos = k; } } // Hit가 없으면 if (pos == 0) { for (k = i - 1; k >= 0; k--) { cacheList[k + 1] = cacheList[k]; } } else { for (k = pos - 1; k >= 0; k--) { cacheList[k + 1] = cacheList[k]; } } cacheList[k + 1] = input; } for (int i = 0; i < cacheSize; i++) { printf("%d ", cacheList[i]); } return 0; } 반복횟수를 줄여보고자 첫 인덱스부터 접근했보았습니다. 괜찮은 코드일까요?

  • C++
  • 코테 준비 같이 해요!
댓글 1 좋아요 0 조회수 253

채점기 질문있습니다.

미해결

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

안녕하세요 강사님 채점기에 대한 질문있습니다. 현재 윈도우11 에서 과정을 진행중에 있습니다. 채점기가 실행은 되는데 전부 wrong_answer이 뜹니다. 혹시나 싶어 dev c++, visual studio 둘 다 빌드 해봤지만 상황은 같습니다. 폴더에 있는 정답 소스코드를 붙여 넣어도 전부 wrong_answer라고 떠서 윈도우 11에선 작동하지 않는건가 궁금합니다.

  • C++
  • 코테 준비 같이 해요!
댓글 2 좋아요 0 조회수 427

코딩테스트 준비 기간 질문

미해결

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

안녕하세요! 우선 좋은 강의 감사드립니다. 질문드리고 싶은 것이 있습니다. 취준을 시작한지 얼마 안됐고, 어느정도의 시간동안 어느정도의 양을 투자해야할지 몰라서 앞으로 계획에 참고하기 위해 질문드립니다. 카카오 공개채용을 합격을 목표로 하고 있습니다. 사람마다, 기간마다 다르겠지만 어느정도의 기간 동안 하루 평균 몇 시간 정도 투자하면 카카오 코딩테스트를 통과할 수준에 도달한다고 생각하시나요? (ex : n개월, 하루 평균 m시간) 강사님께서는 많은 학생을 가르치셔서 평균적으로 어느정도 수치를 투자하면 된다는 데이터가 쌓였을 것 같아 질문드립니다! 좋은 강의 감사합니다 😄

  • 코테 준비 같이 해요!
  • C++
댓글 3 좋아요 2 조회수 3334

강의 수강 전에 풀어보는 것에 대해서

미해결

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

58번에서 배운 전위순회 개념만을 이용해서 59번 풀려고하니 이틀동안 고민하다 답이 안보여서 강의를 봤는데 트리의 레벨이라는 개념이 나오더라구요. 그래서 채점폴더가 없는 문제들은 새로운 개념을 익히는 용도로만 봐야하나 생각했습니다. 58번과 59번처럼 채점폴더가 없는 문제들은 문제를 푸는 과정을 거치지않고 그냥 편하게 쭉 들어봐도 되는걸까요? 지식이 없는 상태에서 푸는게 너무 어렵네요.

  • C++
  • 코테 준비 같이 해요!
물쉬드 댓글 2 좋아요 0 조회수 402

인기 태그

인프런 TOP Writers

주간 인기글