inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

using namespace std;

미해결

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

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 3.8 비트단위 연산자 bitwise operators 강의 8:00분부터 보면 위에 using namespace std;를 사용했는데 bitset 부분에 왜 s td::를 붙이는지 궁금합니다.

  • c++
lahat 댓글 1 좋아요 1 조회수 209

템플릿 클래스 안의 복사 생성자와 참조자의 const 위치...

미해결

template <class T> class shared_ptr { public: shared_ptr (shared_ptr const& r); // "타입 const& 이름" 의 의미?? template <class Y> shared_ptr (shared_ptr<Y> const& r); ... }; 여기서 잘 모르겠는게 2가지가 있는데요... 첫 째는 참조자 선언에 const가 붙은 위치입니다. 포인터에선 int* const abc = &d; 처럼 타입 뒤에 const 가 붙어서 주소를 못 바꾸게 하는게 있는건 아는데요. 저 예제에서 " shared_ptr & const r "이 아니고 " shared_ptr const & r " 로 & 의 위치가 다르게 되어있는 의미가 무엇인지 잘 모르겠습니다.. 그리고 두번째는 shared_ptr 클래스가 템플릿인데 맨 첫번째 일반 복사 생성자 에서 매개변수 로 shared_ptr 이라는 타입으로 받는다는 의미가 무엇인지 잘 모르겠습니다. shared_ptr<T> 도 아니고 딱 "shared_ptr" 만 써져 있는 건 어떤 의미가 있는 건가요???

  • c++
  • 참조자
  • const
  • template
themoon007 댓글 1 좋아요 0 조회수 150

6-A 2792 보석 상자 런타임 에러 (DivisionByZero) 질문이 있습니다.

미해결

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

안녕하세요 선생님 ! 항상 좋은 강의 감사합니다. 이번 보석 상자 강의도 너무 잘 들었는데요, 처음에 혼자 생각해보다가 못 풀고 강의 보고 다시 정리해서 풀어봤습니다. 그런데 첫 제출에서 DivisionByZero 에러가 나서 99% 정도에서 틀렸다고 나오더라고요 탐색을 하는 부분에서 mid가 0일 때 return false를 줘서 두 번째 제출에 성공하긴 했는데, 첫 코드도 선생님 코드와 거의 비슷한 것으로 보여서요 어떤 부분이 잘못됐는지 궁금합니다 ! DivisionByZero 난 코드: https://www.acmicpc.net/source/77479342 정답 코드: https://www.acmicpc.net/source/77479392 감사합니다 !!!!!!

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

Map에서 BFS탐색을 하는 경우에도 O(V+E) 시간복잡도인가요?

미해결

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

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 2-A 2178번처럼 Map에서 BFS 탐색을 하는 경우에도 시간복잡도는 O(V+E)인가요? 감사합니다.

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

문제풀이 질문 드립니다

미해결

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

처음 알고리즘을 공부하게 된 학생입니다. 알고리즘 문제풀이를 시작할 때 어떤 방식으로 하면 될지 질문드립니다. 우선 교안은 한번 다 익혔습니다. (중간 중간 생각나지 않는 부분도 있긴합니다.) 2309번 문제를 스스로 풀어본다. 문제해설을 본다. 문제해설을 다 이해하고 공부한 뒤 강의를 듣는다. 이러한 순서로 공부를 하는게 맞을까요? 그리고 문제가 풀리지 않을때는 고민해보다가 답지를 보는게 나을까요??

  • c++
  • 코딩-테스트
Lim sumin 댓글 1 좋아요 0 조회수 230

43번 문제 3 ~ 5번에 문제가 있는것 같습니다.

미해결

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

코드를 작성하고 돌려보니 1 ~ 2 pass였지만 나머지 3 ~ 5번에서 문제가 발생하였습니다. 그래서 코드를 다시 확인을 해봐도 원인를 못 찾았다. 그래서 강사님의 코드로도 체점을 진행해보니 동일한 결과가 발생하였습니다. 그래서 in 3 ~ 5을 보니 문제와 다르게 배열의 크기가 100,000 으로 설정되어 있는 것을 발견하였습니다. 아마 제 예상으로는 in 3 ~ 5까지의 문제가 다른 문제로 바꾼 것 같습니다. 한번 확인해주시면 감사합니다.

  • c++
  • 코딩-테스트
라르크 (엘디) 댓글 1 좋아요 0 조회수 264

14.3 / 3:50 질문있습니다

미해결

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

throw Exception(); 위에서 익명객체를 throw했습니다. 제가 알기로는 익명객체는 rvalue로, 주소값이 없는걸로 알고 있는데, 이를 참조로 받을 수 있는 이유가 궁금합니다.

  • c++
임준서 댓글 1 좋아요 1 조회수 173

4-B 문제 메모리 초과 문의

해결됨

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

안녕하세요 선생님, 4-B 문제를 선생님 풀이를 보고 다시 풀어봤습니다. 입력배열 A의 크기를 문제에서 주어진 최댓값인 20으로 설정할 때는 메모리초과로 오류가 나는 데, 혹시나 해서 21로 늘려보니 통과했습니다. http://boj.kr/985212f27de447b19f0c9794794c53e6 http://boj.kr/915ba15212a94c9782d0a40dc8e1ce0c 어디서 문제가 생기는 지 알 수 있을까요? 강의 항상 잘 보고 있습니다. 감사합니다.

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

7-M 시간초과 질문있습니다.

미해결

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

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/ef8ad015457e4bbba05ac351eb5ae0d8 안녕하세요 강사님 7-M 문제에서 살아있는 나무는 정렬을 위해 deque를 사용했고죽은 나무는 queue를 사용해서 양분으로 바꿔줬는데 계속 시간초과에서 막혀 질문글 남깁니다...이 문제는 deque로 풀면 안되는 문제일까요? 아니면 제 코드에서 시간을 단축 시킬만한 곳이 있을까요?

  • c++
  • 코딩-테스트
인창 댓글 1 좋아요 0 조회수 186

4-C 입력 질문 있습니다.

미해결

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

for(int i = 1; i <= n; i++){ cin >> m; for(int j = 0; j < m; j++){ cin >> temp; adj[i].push_back(temp); adj[temp].push_back(i); } } 입력을 받아서 인접 노드들을 벡터에 삽입해주셨는데, adj[temp].push_back(i); 이 부분이 들어가게 되면 같은 노드가 2번씩 벡터에 삽입되지 않나요? 예를 들어, 예제 입력 1에서 보면 1~6번 구역마다 인접 구역을 입력으로 받으니까 adj[i].push_back(temp); 이코드만 있어도 양방향 간선이 표시된다고 생각합니다. a[1] => {2, 4} a[2] => {1,3,6,5} a[3] => {4, 2} a[4] => {1, 3} a[5] => {2} a[6] => {2} 이렇게요

  • c++
  • 코딩-테스트
김상민 댓글 2 좋아요 0 조회수 185

최대 선호 음식 질문드립니다.

미해결

코딩테스트 실전 모의고사(with C++) : 대기업 대비

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 제출하니까 시간초과가 뜹니다. 어디가 잘 못 된건가요?? import java.io.*; import java.util.*; public class Main { public static int[] pow, st; public static int n,d,k,answer=Integer.MIN_VALUE; public static void main(String[] argvs) { Scanner sc = new Scanner(System.in); n=sc.nextInt(); d=sc.nextInt(); k=sc.nextInt(); pow = new int[d+1]; st = new int[n+1]; pow[1]=1; for(int i=2; i<=d; i++) pow[i] = pow[i-1]*2; for(int i=1; i<=n; i++) { int num, m; m=sc.nextInt(); for(int j=0; j<m; j++) { num=sc.nextInt(); st[i] += pow[num]; } } dfs(0,0,0); System.out.print(answer); } public static void dfs(int L, int s, int bit) { if(L==k) { int cnt=0; for(int i=1; i<=n; i++) if((bit&st[i])==st[i])cnt++; //st[i]가 bit의 부분집합이라면 cnt증가 answer = Math.max(answer, cnt); //최대값 갱신 } else { for(int i=s; i<d; i++) { //조합으로 탐색 dfs(L+1, i+1, bit+pow[i]); } } } }

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

숨겨진 합 질문드립니다.

미해결

코딩테스트 실전 모의고사(with C++) : 대기업 대비

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 답이 틀렸다고 나오는데, 어디가 잘 못 된건지 궁금합니다. import java.io.*; import java.util.*; public class Main { public static void main(String[] argvs) { Scanner sc = new Scanner(System.in); String s=sc.next(); int res=0; int sum=0; for(char x : s.toCharArray()) { if(Character.isDigit(x)) { res = res*10 + (x-48); } else { sum+=res; res=0; } } System.out.print(sum); } }

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

어떤 부분이 문제일까요?

미해결

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

http://boj.kr/f9e04dedecf9402eb6e1bcb1042dcfa6 선생님 안녕하세요. 선생님이 작성해주신 답이랑 비교해봤을 때, 차이가 나는 부분은 if문을 통해 idx가 a[i].first보다 큰지 작은지를 가른뒤, 계산해주는 부분밖에 없는 것 같습니다. 선생님께서는 a[i].second - a[i].first 또는 idx 이런식으로 직접 해주셨고, 저는 s라는 변수에 a[i].first 또는 idx 를 담아줘서 계산해준 것 밖에 차이가 없다고 생각하는데요. 어떤부분이 달라서 정답이 아니라고 나오는 걸까요?? (if(a[i].second <= idx) continue; 이부분은 문제에 웅덩이는 겹치지 않는다는 조건이 있어서 넣지않았습니다.)

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

포인터 관련

해결됨

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

인터넷을 찾았을 때 굉장히 헷갈리는 부분이 있는데 예시로 int* a = &b;에서 포인터 a는 b의 주소를 가리킨다라는 설명도 있고 포인터 a는 b를 가리킨다라는 설명도 있는데 둘 중에 어떤 것이 맞는 설명인가요?

  • c++
한울 댓글 1 좋아요 0 조회수 256

43번 채점결과

미해결

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

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. #include<stdio.h> #include<algorithm> using namespace std; int a[1001], n; int Count(int s){ int i, cnt=1, sum=0; for(i=1; i<=n; i++){ if(sum+a[i]>s){ cnt++; sum=a[i]; } else sum=sum+a[i]; } return cnt; } int main(){ //freopen("input.txt", "rt", stdin); int m, i, lt=1, rt=0, mid, res, maxx=-2147000000; scanf("%d %d", &n, &m); for(i=1; i<=n; i++){ scanf("%d", &a[i]); rt=rt+a[i]; if(a[i]>maxx) maxx=a[i]; } while(lt<=rt){ mid=(lt+rt)/2; if(mid>=maxx && Count(mid)<=m){ res=mid; rt=mid-1; } else lt=mid+1; } printf("%d\n", res); return 0; } 강사님께서 직접 올려주신 코드 복사해서 돌려봐도 채점 결과가 아래 사진과 같이 뜹니다 그동안 다른 문제들 채점 프로그램은 이상이 없었는데 43번만 채점결과가 이상해서 질문 드립니다.

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

21번 질문드립니다.

미해결

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

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 21번 문제 질문드립니다. 문제에서 두 사람 모두 0-9까지 카드를 중복없이 각 한 장씩 갖고 있다고 하였는데, 코드 상에서 이에 대한 예외처리가 없어 scanf로 데이터 넣어주는 부분에서 이중 for문을 돌리면 될까요? 다른 좋은 방법이 있을지 문의드립니다.

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

2776 암기왕 문제 시간복잡도에 관해 질문이 있습니다

해결됨

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

안녕하세요 큰돌님 암기왕 문제를 map을 사용한 경우 탐색에 log(n)의 시간복잡도를 갖는데, 이분탐색을 사용한 방법과 시간차이가 커서 질문드립니다. sort를 사용하는 경우에 정렬에 nlog(n), 값을 찾는데 log(n)이 걸리며, map을 사용하면 삽입에 n * log(n), 값을 찾는데 log(n)이 걸리니 결국 비슷할거라 생각했는데 시간차이가 2배나 나는 이유를 모르겠습니다 ㅜ #include<bits/stdc++.h> using namespace std; int t, n, m, temp; int main(){ ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); cin >> t; for(int i = 0; i < t; i++){ map<int, int> mp; cin >> n; for(int j = 0; j < n; j++){ cin >> temp; mp.insert({temp, 0}); } cin >> m; for(int j = 0; j < m; j++){ cin >> temp; if(mp.find(temp) == mp.end()) cout << 0 << '\n'; else cout << 1 << '\n'; } } return 0; }

  • c++
  • 코딩-테스트
JeongJu Lee 댓글 1 좋아요 0 조회수 185

6-J 풀이가 가지 않아서 질문드립니다

미해결

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

안녕하세요 큰돌님. 풀이를 몇번을 봤는데도 이해가 가지 않아서 질문드립니다. 이분탐색으로 찾으려는 것 - 실제 필요한 시간보다 조금 더 큰 시간 - 즉, ret이 놀이기구를 타는데 걸린 총 시간이 됨 ret - 1 / a[i] - ex) 문제 예시 들어주신 것처럼 4분이 딱 되었을 때 새롭게 타는 사람 수를 빼주기 위해 하는 로직 전체 묶음을 다 처리하고 놀이기구에 아무도 안 탄 상태로 가정하고 그 부분부터 한명씩 태우는 로직 이렇게 파악하긴 했는데, 아무리 봐도 2번, 3번이 전혀 이해가 가지 않습니다... 놀이기구 수만큼을 바로 태울 필요가 있나요? 처음 시작을 temp = m으로 시작하지 않고 temp = 0을로 시작하면 4분일 때 딱 7명 태운걸로 나와서 ret - 1 / a[i] 로직을 안해도 되지 않나요? 그리고 마지막에 총 걸린시간(ret) % a[i] 로직이 어떤 의미인건지 이해가 안 됩니다 ㅠㅠ 아래는 제가 선생님 코드를 이해하려고 주석을 달아본 코드입니다. #include<bits/stdc++.h> using namespace std; #define max_n 60000000004 #define MAX_M 10004 typedef long long ll; // ret : 총시간, temp가 m : 여기서 부터 시작 ll n, m, a[MAX_M], lo, hi = max_n, ret, mid, temp; bool check(ll mid) { temp = m; // 놀이기구 수만큼은 바로 태울 수 있으므로 m명은 태우고 시작 for (int i = 0; i < m; i++) temp += mid / a[i]; return temp >= n; // 총 걸리는 시간이 mid일 때 n명이상 태울 수 있는지 } int main() { cin >> n >> m; for (int i = 0; i < m; i++) cin >> a[i]; if (n <= m) { cout << n; return 0; } while (lo <= hi) { mid = (lo + hi) / 2; if (check(mid)) { ret = mid; // 총 걸린 시간 hi = mid - 1; } else lo = mid + 1; } // temp : 4분까지 태운 학생 수 -> 4분이 딱 됐을 때 바로 추가로 태울 수 있는데 그걸 뺀 순수하게 4분까지 태운 학생 수 temp = m; for (int i = 0; i < m; i++) temp += ((ret - 1) / a[i]); // 4분부터 시작해서 다시 순차적으로 놀이기구 태움 -> 즉, 여기서는 놀이기구에 아무도 타있지 않은 초기 상태임 for (int i = 0; i < m; i++) { if (ret % a[i] == 0) temp++; // % 연산의 결과가 0이 아날 경우 == 놀이기구에 이미 학생이 탑승되어 있음 if (temp == n) { cout << i + 1 << "\n"; return 0; } } return 0; }

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

코드 관련 질문

미해결

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

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의를 보다보면 미로맵 제작 같이 다운로드가 안되는 코드를 올려주신 다는 말씀을 하시는데 혹시 코드는 어디서 다운 받을 수 있을까요?

  • c++
  • 네트워크
  • ue-blueprint
  • 게임수학
  • windows-api
토끼와기린 댓글 1 좋아요 0 조회수 306

포인터가 깊은복사 얕은복사와 같나요?

미해결

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

포인터 수업을 들으면서 C#의 깊은복사와 유사한거같은데 같은의미인가요?

  • c++
  • 네트워크
  • ue-blueprint
  • 게임수학
  • windows-api
김망 댓글 1 좋아요 0 조회수 301

인기 태그

인프런 TOP Writers

주간 인기글