묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-K 질문이 있습니다.
팰린드롬의 앞부분 + 중앙 + 뒷부분 을 출력하는 코드를 만들었습니다.https://www.acmicpc.net/source/76353773vs에서 볼때는 반례가 없어보이는데 백준에서는 오답이라고 나옵니다. 어디가 잘못된걸까요?
-
해결됨OpenGL 쉐이더 (2) shader 3D 그래픽스 - 프로그래머블 파이프라인, 기하학 기초, 삼각형 출력
#include "./common.c"오류
오류 LNK2005 getBaseName이(가) common.obj에 이미 정의되어 있습니다. 의 오류가 나옵니다. main이랑 같은 위치에 common.c를 두었는데 어떻게 해결해야하나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
이해한게 맞는지 궁금해요!
결국 idx번째 비트를 끄려면, idx번째 비트만 꺼져있는 수와 and 연산을 한다라고 이해하면 될까요?그리고 idx번째 비트만 꺼져있는 수를 만들기 위해서는 idx번째 비트만 켜져있는 수를 만들고 ~연산을 통해 비트를 반전시킨다라고 이해했습니다.
-
미해결[게임 프로그래머 도약반] DirectX11 입문
스마트포인터에 대해질문있습니다
안녕하세요 gamobject 객체에서 addcomponet 를 호출 하여 weak_ptr 로 gameject 를 componet 클래스에서 참조하고있다고 할때 gameobject 가 소멸하면 component 도 소멸하는건가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-G 코드 질문 드립니다.
http://boj.kr/8f2c3b1fb5d5432fadeb0831025ed653 해당 코드로는 테스트케이스가 잘 작동하는데 어떤 부분을 놓친것 인지 궁금합니다 감사합니다 :)
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
8-W 줄서기
안녕하세요. 큰돌 강사님, 해설이 이해가 되지 않아서 질문 드립니다. 역사 문제와 이 문제의 풀이 방법이 왜 다른 건지 궁금합니다. 역사문제의 경우 플로이드 워셜로 풀었었는데, 사건들의 전후 관계를 알고 있으니 ,역사 문제도 현재 풀이처럼 v[a]++, v[b]--; 로 풀면 안되나요?? 아래 코드가 전혀 이해가 되지 않습니다.. 앞에 있는 학생의 점수를 키우고, 뒤에 있는 학생은 줄이면 어떻게 1~N까지 카드 숫자를 나눠 갖나요??for (int i = 0; i < m; i++) { cin >> a >> b; v[a]++, v[b]--; } for (int i = 1; i <= n; i++) { v[i] += i; visited[v[i]]++; } 감사합니다 좋은 하루 보내세요
-
미해결[게임 프로그래머 도약반] DirectX11 입문
상수버퍼도 공용적으로 사용하는게 좋나요?
공통적인 상수버퍼를 셰이더마다 생성하는것이 아니고리소스매니저처럼 따로 상수버퍼를 만들어놓고 받아와서 사용하는 식으로 해도 되나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-O 질문있습니다!
안녕하세요 큰돌님.강의를 수강하면서 질문이 있습니다.제가 몇시간동안 고민한 게 단 한 줄 추가로 시간초과 해결이 됬는데, 실전에서 이런 문제들을 만나면 과연 어떻게 해야할지 고민이 생기네요... 무작정 암기하는 방식은 공부가 아니라고 생각하는데 이런 문제들을 보면 또 암기가 맞다고 생각하게 되네요.큰돌님은 어떻게 생각하시는지 또 어떻게 공부 방향을 잡아야하는지 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
질문있습니다.
http://boj.kr/efd11008ccc14646a364953dfec3e77c 가장자리의 얼음을 녹인다.백조끼리 이어져있는지 확인한다.이 두 가지 동작을 while로 돌리고 싶었는데 어느 부분이 틀렸는지 모르겠습니다...도와주세요
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
질문 있습니다
#include <iostream> #include <vector> #include <algorithm> using namespace std; int n; int maximum=-2147000000; vector<pair<int, int>> A; void DFS(int day, int now_day, int income); int main(){ cin >> n; for(int i=1; i<=n; i++){ int a, b; cin >> a >> b; A.push_back(make_pair(a, b)); } for(int i=1; i<=A.size(); i++){ DFS(A[i].first, i, 0); } cout << maximum; } void DFS(int day, int now_day, int income){ if(day>n){ if(income>maximum) maximum=income; return; } else if(day==n){ income+=A[now_day].second; if(income>maximum) maximum=income; return; } else{ income+=A[now_day].second; for(int i=day+1; i<=n; i++){ DFS(day+A[i].first, i, income); } } }해당 코드로는 알맞는 정답이 출력되지 않는데, 그 이유를 모르겠습니ㅏㄷ.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
알파벳 질문 있습니다.
http://boj.kr/b5d1bbdb6ec041f3aa76727fa518e4d3 str을 초기화시키는 시점과, str을 누적시키는 방법이 잘못된 거 같은데도무지 고치질 못하겠어요 .. 도와주세요
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
8-C 접근 방식 질문 있습니다.!
안녕하세요 큰돌님!http://boj.kr/01de00905c874d749fef7bbf7313fc02큰돌님의 풀이 방식이랑 조금 다른 방식으로 했는데요.완탐 + dp을 생각해서 풀어봤는데 테스트케이스도 실패하고 어디가 문제인지 잘 감이 안잡히네요...혹시 제 코드 봐주실수 있나요?제 접근 자체가 잘못된거면 그냥 깔끔하게 접게요....풀릴꺼 같은데 안풀리니깐 미련이 자꾸 남습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
16637번 질문
해당 문제에서 "3*8+5" 를 예시로 들어가면서 코드까지 옮기는 내용으로 수업을 해주셨습니다. 이 경우 당연하게 최대 1개 쌍의 괄호가 들어갈 수 있는 경우의 수가 2개이므로 수긍은 되었습니다.하지만, 제가 생각하기에 최대 수식의 길이가 19이므로 그 경우의 괄호는 상당히 많아질텐데 현재의 2개의 경우의 수를 고려하는 코드로도 커버가 되는 건가요? 재귀 형태라서 그렇다기에는 이해가 잘 안 갑니다..길이가 11인 예시 "3+5-8*1*4+2" 만 해도(3+5)-(8*1)*(4+2)로 최대 괄호의 수(쌍)가 3개짜리인 경우의 수가 상당히 많아질 수 있는데 현재의 코드가 어떻게 되는건지 모르겠습니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
그대로 입력했는데 틀렸다고 뜹니다.
#include <bits/stdc++.h> using namespace std; int n, cnt[26]; string s, ret; int main(){ cin >> n ; fot(int i=0; i<n; i++){ cin >> s ; cnt[s[0] - 'a']++; } for(int j = 0; j < 26; j++){ if (cnt[j] >= 5) ret += j + "a"; } if(ret.size()) cout << ret << "\n"; else cout << "PREDAJA" << "\n"; } 어디가 틀린걸까요
-
해결됨C개발자를 위한 최소한의 C++
new/ delete 질문
포인터 new 시, 주소값과 가리키는 Data 메모리도 동시 할당되나요?포인터 delete 시, 주소값과 가리키는 Data 도 메모리도 해제? 혹은 주소값만 해제되나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-K 질문있습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 강의 잘 듣고 있습니다. 강의 풀이 참고하여 코드 작성하였는데.ans.push_back({it-LIS.begin(), A[i]});라인의 위치에 따라 "it-LIS.begin()"의 값이 쓰레기값일 때도 있고 그래서.., 현상의 이유가 궁금합니다. ans.push_back()을 뒤에 위치시켰을때, pos_ 값이 쓰레기값이 되는 이유 질문드려요. 그 이유로,LIS.push_back(A[i]); 가 수행되고 나면 LIS.begin()의 주소값이 변경되는 것으로 생각되는데, 맞을까요? 전체 코드>>#include <bits/stdc++.h> using namespace std; int N; vector<int> A; vector<int> LIS, Ret; int len; vector<pair<int, int>> ans; int main(){ cin.tie(NULL); cout.tie(NULL); ios_base::sync_with_stdio(false); cin >> N ; A = vector<int>(N,0); for(int i =0 ; i < N ; ++i) cin >> A[i]; for(int i = 0 ; i < N ; ++i){ auto it = lower_bound(LIS.begin(), LIS.end(), A[i]); ans.push_back({it-LIS.begin(), A[i]}); /* 현재 위치에서 push_back 하였을 떄: >> ans 배열에 담긴 값: ans = { {0, 10} {1, 20} {0, 10} {2, 30} {1, 20} {3, 50} } */ if (it == LIS.end()) LIS.push_back(A[i]); else *it = A[i]; /* 아래 위치에서 push_back 하였을 떄(주석): ans.push_back({it-LIS.begin(), A[i]}); >> ans 배열에 담긴 값: ans = { {-1405095968, 10} {-7, 20} {0, 10} {10, 30} {1, 20} {3, 50} } */ } cout << "디버깅" << endl; for(auto a : ans) cout << a.first << " " << a.second << endl; cout << endl; int len = LIS.size(); cout << len << endl; // 배열을 trace for(int i = N-1 ; i >= 0 ; --i){ if (ans[i].first == len-1){ Ret.push_back(ans[i].second); len--; } } reverse(Ret.begin(), Ret.end()); for(auto r: Ret) cout << r << " "; cout << endl; return 0; }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-R 트리 질문있습니다
http://boj.kr/8cefb4955fb64d18ad353997d162cc29제출시 77%에서 오답처리 되는데, 어느 부분이 틀렸는지 모르겠습니다.- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6_J 질문드려요.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요.강의 잘 듣고 있습니다. 다름이 아니라.ll right = 1E18로 지정하면 제출시 틀렸습니다가 뜨고, ll right = 1E15 정도로 하면 정답이 뜨는데, mid 의 값계산이 잘못되고 있는건가 체크해봐도 오버플로우가 날만한게 없어서. 이유가 궁금합니다. #include <bits/stdc++.h> using namespace std; typedef long long ll; ll N, M; vector<ll> A; ll temp; bool check(ll mid){ temp = M; for(int i =0 ; i < M ; ++i){ temp += mid/A[i]; } return temp >= N; } int main(){ cin >> N >> M; A = vector<ll>(M,0); for(int i = 0 ; i < M ; ++i) cin >> A[i]; if ( N <= M) cout << N << endl; else{ ll left = 0; ll right = 1E18; ll ret = 0; while(left <= right){ ll mid = (left+right)/(long long)2; if(check(mid)){ right = mid-1; ret = mid; } else{ left = mid+1; } } temp = M; for(int i =0 ; i < M ; ++i) temp += ((ret-1)/A[i]); for(int i =0 ; i < M ; ++i){ if (ret % A[i] == 0) temp++; if (temp ==N){ cout << i +1 << "\n"; return 0; } } } return 0; }
-
미해결[게임 프로그래머 도약반] DirectX11 입문
Scale 행렬과 Rotation 행렬 곱하는 순서를 바꿀 경우
SRT에서 Scale 행렬과 Rotation 행렬 곱하는 순서를 바꿀 경우 최종 결과값을 얻는 데에는 상관없지 않나요?Translation 행렬은 아예 기준 좌표계 기준을 옮기는 행위여서 Translation 행렬이 언제 곱해지나에 따라 결과값에 차이를 만들어 낼 수 있는데, Scale과 Rotation 은 좌표계 기준을 옮기는 행렬이라고 생각이 안 되어서 여쭤봅니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-a 왜 틀렸는지 궁금합니다
http://boj.kr/5b42789344b749769d5371b7e76dfb10 안녕하세요 큰돌님 !강의 너무 재밌게 잘 듣고 있습니다.문제해설대로 map을 사용하는게 좋은 방법이란걸 깨달았지만 해설을 듣기전 혼자 풀었을때 작성한 코드인데요.저는 전역으로 벡터를 만들어서 더 좋은 조건(사전 순으로 빠른)의 벡터가 만들어졌을 시 비교하여 전역 벡터로 할당해주는 방식으로 짜보았는데요.해당문제를 검색해보며 여러 테스트케이스를 해봐도 맞았는데 제출은 틀렸다고 나옵니다 .. ㅠㅜㅠㅜ어떤 반례가있는지 궁금합니다.