inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

6 - F

미해결

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

http://boj.kr/798b9379c3254770abccef965fd8ee87 몬스터 때리는 부분을 제외하면 작성해주신 정답 코드랑 유사해보이는데 어디가 잘못됐는지 잘 모르겠습니다.

  • c++
  • 코딩-테스트
김지환 댓글 1 좋아요 0 조회수 131

2-H 질문있습니다

해결됨

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

if(isVowel(idx)) mcnt++, scnt = 0, is_include_v = 1; else scnt++, mcnt = 0; if(mcnt == 3 || scnt == 3) flag = 1; 이 부분이 제가 이해하고 있는 것이 맞는지 궁금합니다. 예제 입력에 ptoui를 예를 들어보겠습니다. for문에서 ptoui라는 문자열을 알파벳 하나하나 받아주면서 p -> vcnt++, lcnt = 0 => vcnt = 1, lcnt = 0 t -> vcnt++, lcnt = 0 => vcnt = 2, lcnt = 0 o -> lcnt++, vcnt = 0 => vcnt = 0, lcnt = 1 u -> lcnt++, vcnt = 0 => vcnt = 0, lcnt = 2 i -> lcnt++, vcnt = 0 => vcnt = 0, lcnt = 3 다음 if문에서 lcnt == 3이므로 flag = 1이 되고, flag = 1일 때는 not acceptable 출력. 이게 맞나요???

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

배열 대신 벡터 사용 해도 괜찮나요?

미해결

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

int cnt[26]; 대신에 vector <int> answer (26); 를 사용했는데 어떤 문제 이든지 배열 대신 벡터를 사용 했을 때 문제될 여지가 있을까요?

  • c++
  • 코딩-테스트
석찬휘 댓글 1 좋아요 0 조회수 246

SetConsoleTextAttribute 함수 특수문자 겹침 현상..

미해결

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

위와 같은 현상이 왜일어나는지 아시나요? 같은 색으로 하면 괜찮습니다.. 색은 변경할때 반칸씩 밀려 겹쳐 보이네요.. 간단한 코딩 아래첨부합니다.. #include <iostream> int main() { int temp = 0; for (int y = 0; y < 25; y++) { for (int x = 0; x < 25; x++) { temp++; //단일색 안밀림.. //SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 1); //색변경시 밀림.. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), temp % 3 == 0 ? 1 : 2); cout << "■"; } cout << endl; } } 환경은 윈도우 11입니다.

  • c++
  • 네트워크
  • ue-blueprint
  • 게임수학
  • windows-api
chunkind 댓글 2 좋아요 0 조회수 724

exercise8 질문입니다!

미해결

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

안녕하세요! 좋은 강의 덕분에 많이 배우고 있습니다 ㅎㅎ 8번 문제를 그냥 실행했을 때, crash가 나야하는데 소리만 나고 출력, 호출 스택, IDE에 crash 표시도 생기지가 않습니다..! 제가 Mac M1에서 가상 머신으로 띄운 Window의 Visual Studio를 사용하고 있는데, 환경의 문제일까요? 원인을 모르겠어서 어떤 문제인지 서치하기가 어렵네요 ㅠ Archer의 소멸자 delete pet; 에 중단점을 찍고 실행 전 후 사진입니다!

  • c++
v44ads 댓글 2 좋아요 0 조회수 343

4-F 질문입니다.

미해결

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

http://boj.kr/ffa390ab1d0145a8a863f6733fdf21f0 k가 주어졌을 때, a n t i c은 무조건 배워야하니까 21개 중 k-5개를 뽑는 경우의 수에서 기저사례에서 최댓값을 갱신하는 방법으로 코드를 짰는데요..제 코드 시간 복잡도를 계산해보면 21C(k-5)*50*15로 계산했습니다(50은 단어의 최대개수,15는 k의 최대 범위). 궁금한 점은 1.저의 코드의 시간복잡도 계산을 저렇게 하는게 맞는지 2. 왜 시간초과가 나는지 모르겠습니다.

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

output에 출력이 되지 않습니다.

미해결

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

output에 출력이 되지 않고, memory 창에도 어드레스가 없다고 나오는데 해결 방법을 모르겠습니다 ㅠㅠ

  • c++
leyjcalm 댓글 1 좋아요 0 조회수 398

hello-prrallel.cu 의 병렬처리에 관하여

해결됨

CUDA 프로그래밍 (1) - C/C++/GPU 병렬 컴퓨팅 - CUDA 커널 kernel

좋은 강의 고맙습니다. 병렬처리라면 일반적으로 다른 쓰레드에 영향을 주지 않고 수행이 될거라 생각이 됩니다. 예제 코드에서 hello<<<1,8>>>(); 을 이용하여 쓰레드 8개를 병렬로 돌리는데 출력된 값은 hello CUDA 0! hello CUDA 1! hello CUDA 2! ,,, hello CUDA 7! 이 되는 것을 볼 수 있는데 병렬로 처리된다면 출력 되는 숫자가 순차적으로 나올 수 없는 것 아닌가요?

  • c
  • c++
  • cuda
  • gpu
  • 병렬-처리
whlee 댓글 1 좋아요 0 조회수 374

강의교재126 int형 우선순위큐

미해결

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

while(pq.size()){ cout << pq.top () << " : " << pq2.top () << " : " << pq3.top () << '\n'; pq.pop(); pq2.pop(); pq3.pop(); } 이코드에서 궁금한것이 있는데요 pq.size()는 5이고 참이니깐 while문 안에있는 조건은 계속 돌아가서 무한루프가 되는게 아닌가요? 그리고 코드마지막에 있는 pq.pop(); pq2.pop(); pq3.pop(); 는 왜 한번씩 더 써주는건가요? 위에 있는 코드로도 충분하지 않나요?

  • c++
  • 코딩-테스트
김우진 댓글 1 좋아요 0 조회수 223

1-G 9996번 질

미해결

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

안녕하세요 큰돌님 강의 잘 듣고 있습니다. 1-G번 문제 질문드립니다. https://www.acmicpc.net/source/share/7c68255b14c740b9b87c4053d0d0c0db 왜 자꾸 틀렸다고 하는지 모르겠네요 ㅠ 강의 듣고 사이즈 예외처리까지 다 된건 줄 알았는데 if ((input.find(temp1) != string::npos) && (input.find(temp2) != string::npos)) { cout << "DA" << '\n'; } else { cout << "NE" << '\n'; } 이 부분이 왜 오류나는지 알 수 있을까요? 감사합니다.

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

백준 13023 질문있습니다.

미해결

Do it! 알고리즘 코딩테스트 with C++

문제의 의도가 파악이 되지 않아 질문 남깁니다. 모든 노드에서 DFS를 돌리는경우도 유튜브 채널 댓글 보면서 이해를 했습니다. 위의 설명을 보니 이해가 바로 되었습니다. 근데 문제에서 A는 B와 친구다. B는 C와 친구다. C는 D와 친구다. D는 E와 친구다. 라는 것을 보고 깊이가 4일 때를 하드코딩으로 코드에 넣으셨는데 저는 이것을 보고 그냥 DFS로 n -1번까지 다 연결되어 있으면 1을 출력하라는 것이구나~ 하고 이해를 하였는데 어디에 근거하여 깊이가 4인 경우가 발생하면 1을 출력하라고 어떻게 이해하셨는지 궁금합니다. #include <iostream> #include <vector> #include <queue> #include <algorithm> #include <deque> #include <cmath> using namespace std; #define ll long long #define endl "\n" int n; bool flag = false; vector<vector<int>> adj; vector<bool> visit; void DFS(int now, int depth) { visit[now] = true; if (depth == n - 1) { flag = true; return; } for (int next : adj[now]) { if (visit[next] == false) DFS(next, depth + 1); } visit[now] = false; } int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int m; cin >> n >> m; adj.resize(n); visit.resize(n); for (int i = 0; i < m; ++i) { int a, b; cin >> a >> b; adj[a].push_back(b); adj[b].push_back(a); } for (int i = 0; i < n; ++i) { DFS(i, 0); if (flag) break; } if (flag == false) cout << 0; else cout << 1; return 0; } 위는 제가 처음에 짠 틀린 코드입니다. DFS의 조건문에서 depth가 n - 1과 같으면 flag를통해 return하도록 하였습니다.

  • c++
  • 코딩-테스트
  • 알고리즘
starkshn 댓글 1 좋아요 0 조회수 228

LosdShaderFromFile 매개변수 string(2)

해결됨

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

삼각형 띄우기 31분 쯤 나오는 LosdShaderFromFile함수 작성시에 저는 string 헤더 추가하라고 오류가 뜹니다. (물론 추가 하는게 문제는 아닌데,) 선생님께서 올려주신 파일을 보니 별도로 추가 되어있지 않아서요,,,, 궁금해서 올려봅니다(너무 하찮은 질문이지만...ㅜㅜ ) 근데 using namespace std; 는 이미 pch에 저도 추가되어 있습니다...ㅠㅠㅠ 선생님 파일을 받아서 열어보아도 저와 같이 오류가 뜹니다. 저는 현재 VS 2022를 쓰고 있습니다. VS 설정이나 기타 확장도구, 템플릿 등의 문제일까요? ㅜㅜ

  • c++
  • directx
어머니는짬뽕을좋아하셨어 댓글 1 좋아요 0 조회수 422

실행(F9)을 하면 자꾸 응답없음이 뜹니다.

미해결

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

sasm 삭제하고 다시깔아봐도 헬로월드 실행이 안되네요.. 무슨 문제일가요? 자꾸 응답없음이 뜹니다.

  • c++
kindari0713 댓글 2 좋아요 0 조회수 401

긍정왕 홍철이 문제 질문입니다.

미해결

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

문제를 보고 아래와 같이 풀었으나 // Online C++ compiler to run C++ program online #include <bits/stdc++.h> using namespace std; const int n = 3; //4방향 이동 int dy[4] = { -1, 0, 1, 0 }; int dx[4] = { 0, 1, 0, -1}; int visited[n][n]; vector<int> v; //기본 맵 int a[3][3] = { {10,20,21}, {70,90,12}, {80,110,120} }; void print() { for(int i : v) { cout << i << " "; } cout << "\n"; } // 완탐 재귀 함수 void go(int y , int x) { //기저 조건 if( y == n-1 && x == n-1 ) { print(); return; } for(int i = 0; i < 4; i ++) { int ny = y + dy[i]; int nx = x + dx[i]; //범위 체크 if( ny < 0 || ny >= n || nx < 0 || ny >= n ) continue; if( visited[ny][nx] ) continue; visited[ny][nx] = 1; //방문 처리 v.push_back(a[ny][nx]); go(ny, nx); visited[ny][nx] = 0; //원복 v.pop_back(); } } //완탐과 원복 : 예제_ 긍정왕 홍철이의 구걸 여행행 int main() { visited[0][0] = 1; v.push_back(a[0][0]); go(0,0); return 0; } 출력이 위와 같이 0이 껴서 이상하게 나옵니다. 큰돌님 코드와 비교해 봤는데 다른 점을 못찾겠어요ㅜㅜ 제가 실수한 것이 있을까요??

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

[질문은 아니고 해결법&코드 공유] deque로 풀어봤어요!

미해결

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

저는 37번 LRU 문제를 Deque랑 삽입 정렬로 풀었습니다. 삽입 정렬은 강사님 설명대로 반복된 입력값을 정렬시킬 때 사용했습니다. deque는 캐시메모리 크기를 초과할 때 pop(제거)를 위해 사용했습니다. 처음에는 vector로 풀었는데, 이럴 경우 입력값 : 1 2 3 2 6 2 3 5 7 index : 0 1 2 3 4 vector<int> v : 1 6 2 3 5 에서 처음 입력됐던 1이 삭제돼야하는데, vector는 pop_back()만 있어서 앞쪽인 1이 아니라 뒤쪽인 5가 삭제됩니다. 그래서 pop_front() 혹은 pop_back()랑 push_front가 동시에 컨테이너가 없을까 찾아보다가, 양방향 입력/제거 가능한 deque를 사용했습니다! (queue도 앞으로 들어오고 뒤로 나가는 거지만 정렬하기 힘드니까 패스!) 아래 코드 첨부합니다! 최근에 해시 공부하면서 익힌 iterator(반복자)도 사용했는데, iterator가 처음이신 분들은 대충 index처럼 요소 접근하는걸로 이해해주시면 됩니다!(정확히는 주소 접근이지만!) #include<iostream> #include<deque> #include<algorithm> using namespace std; int main() { int S{}, N{}; deque<int> dq; // 중복 값 정렬 cin >> S >> N; for (int i = 0; i < N; i++) { int tmp{}; cin >> tmp; // 중복값 찾기 deque<int>::iterator it = find(dq.begin(), dq.end(), tmp); if (it == dq.end()) dq.push_front(tmp); // 중복 없으면 그냥 앞에서 삽입 else { // 중복값 있다면 // (tmp = *it을 할 필요없음 : 그 값이 그 값이니까) // 하나씩 뒤로 밀기. 제일 앞쪽에 도착하면 it-1을 못하니까 반복 종료 for (it; it != dq.begin(); it--) { *it = *(it - 1); } *it = tmp; } // 제일 뒤쪽 삭제 if (dq.size() > S) dq.pop_back(); } for (int i = 0; i < dq.size(); i++) cout << dq[i] << " "; }

  • c++
  • 코딩-테스트
  • deque
  • 자료구조
이제옌 댓글 1 좋아요 0 조회수 327

답변을 안 주셔서 리마인드 성격의 인용글 올립니다.

해결됨

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

확인 부탁드립니다. https://www.inflearn.com/questions/1115271/%EC%84%B9%EC%85%9810-rawbuffer%EC%9D%98-result%EB%B2%84%ED%8D%BC-%EC%83%9D%EC%84%B1%EC%8B%9C-%EC%A7%88%EB%AC%B8

  • c++
  • directx
presswon 댓글 0 좋아요 0 조회수 398

IntArray 구현 공유합니다

미해결

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

copy constructor, = operator overloading, << overloading 도 같이 해봤습니다 insertBefore, remove 에서 resize 를 쓰면 코드 반복을 줄일수 있는데, 비슷하게 옮기는걸 두번해서 속도 느려지기 때문에 그냥 각 함수에 기능들을 따로따로 만들었습니다... class IntArray{ private: int _len; int *_arr = nullptr; public: IntArray(int length) : _len(length) { _arr = new int[length]; } // initializer_list constructor IntArray(const std::initializer_list<int> & ilist) : IntArray(ilist.size()) { int i = 0; for (const auto & n : ilist) { _arr[i++] = n; } } // copy constructor IntArray(const IntArray &source) : IntArray(source._len) { for(int i = 0; i < _len; i++){ _arr[i] = source._arr[i]; } } // assignment operator overloading IntArray& operator = (const IntArray & source) { // prevent self-assignment if (&source == this) return *this; _len = source._len; delete[] _arr; if (source._arr == nullptr) { _arr = nullptr; } else { _arr = new int[_len]; for(int i = 0; i < _len; i++){ _arr[i] = source._arr[i]; } } return *this; } // cout << overloading friend std::ostream& operator << (std::ostream &out, const IntArray &intarray) { out << "[ "; for(int i = 0; i < intarray._len; i++){ out << intarray._arr[i] << " "; } out << "]"; return out; } void reset(){ _len = 0; delete[] _arr; _arr = nullptr; } void resize(int newlen) { int *newarr = new int[newlen]; int minlen = std::min(_len, newlen); for(int i = 0; i < minlen; i++){ newarr[i] = _arr[i]; } delete[] _arr; _arr = newarr; } void insertBefore(const int &val, const int &ix) { _len++; int *newarr = new int[_len]; for(int i = 0; i < ix; i++){ newarr[i] = _arr[i]; } newarr[ix] = val; for(int i = ix+1; i < _len; i++){ newarr[i] = _arr[i-1]; } delete[] _arr; _arr = newarr; } void remove(const int &ix) { _len--; int *newarr = new int[_len]; for(int i = 0; i < ix; i++){ newarr[i] = _arr[i]; } for(int i = ix; i < _len; i++){ newarr[i] = _arr[i+1]; } delete[] _arr; _arr = newarr; } void push_back(const int &val){ resize(++_len); _arr[_len-1] = val; } ~IntArray() { delete[] _arr; } };

  • c++
Hansh 댓글 1 좋아요 1 조회수 375

1-N 1629 홀수 일 때의 처리가 이해가 되지 않습니다.

미해결

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

#include <bits/stdc++.h> using namespace std; long long A, B, C; long long go(long long a, long long b) { if (b == 1) { return a % C; } long long ret = go(a, b / 2); ret = (ret * ret) % C; if (b % 2 == 1) { ret = (ret * a) % C; } return ret; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cin >> A >> B >> C; cout << go(A, B) << '\n'; } B가 홀 수 일 때, 홀수 처리를 하기 직전 ret = A^(B-1) % C 입니다. 그러면 홀수처리가 진행 될 때 ret = ((A^(B-1) % C) * A) %C 가 코드의 상황 인데 이게 최종 결과인 A^B % C 와 같아지는게 이해가 안됩니다. 나머지 연산의 합동공식이 (a * b) % c = (a % c * b % c) % c 이기 때문에 A^B % C = (A^(B-1) * A) % C = (A^(B-1) % C * A % C) % C 위와 같은 식이 나와야 하고 ret = (ret * a) % C가 아니라 ret = (ret * a % C) %C 가 되어야 하는 것 아닌가요? 백준에서는 둘다 맞게 처리 되는데 이해가 되지 않습니다.

  • c++
  • 코딩-테스트
전지훈 댓글 1 좋아요 0 조회수 315

섹션 3. 포인터와 배열 (3주차) 배열 실습까지 진행했는데요

해결됨

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

저는 코드를 똑같이 따라 했다고 생각했는데 오류가 납니다. 파일 올려주신다고 했는데 어디서 다운 받을 수 있나요? https://youtu.be/7Tk8ocwMO7Q

  • c++
  • 네트워크
  • ue-blueprint
  • 게임수학
  • windows-api
윤주헌 댓글 1 좋아요 0 조회수 320

인기 태그

인프런 TOP Writers

주간 인기글