묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-C 질문입니다.
http://boj.kr/9eeafa902f3d4250b992929f40ba4118예제 입출력은 모두 정상적으로 동작하는데 어떤 경우에 안되는 건지 잘 모르겠습니다.cnt로 이동 횟수를 세서 dp에 기록하는 방식을 사용했습니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-G 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.아래 코드가 틀렸다고 나오는데 ll r = 1e18 + 4;이 부분 코드를 1e9로 바꿔서 제출하기만 하면 맞다고 나옵니다. 상한선을 저번에 풀었던 드래곤 앤 던전 문제처럼 크게 잡았는데 왜 문제가 생겼는지 모르겠습니다.시간초과가 나온거면 이해가 가는데 왜 틀렸다고 나오는지 이해가 안가네요..#include <bits/stdc++.h> using namespace std; typedef long long ll; ll x, y, z, mid, ret; bool check(ll mid) { ll new_z = (y + mid) * 100 / (x + mid); // 새로운 승률 return new_z > z; // 기존 승률과 비교 } int main() { cin >> x >> y; ll l = 1; ll r = 1e18 + 4; // 최대 범위를 현실적으로 설정 z = y * 100 / x; // 기존 승률 ret = 0; while (l <= r) { mid = (l + r) / 2; if (check(mid)) { // 승률이 증가하는 경우 ret = mid; r = mid - 1; // 더 작은 mid 값을 탐색 } else { // 승률이 증가하지 않는 경우 l = mid + 1; // 더 큰 mid 값을 탐색 } } if (ret == 0) cout << -1; else cout << ret << "\n"; return 0; }
-
미해결홍정모의 따라하며 배우는 C++
레퍼런스 재할당 관련 궁금한 점이 있습니다.
int val1 = 123;int val2 = 456;int& reref = val1;cout << reref << endl;reref = 888;cout << val1 << endl;cout << reref << endl;reref = val2; //여기서 재할당 하였습니다.cout << reref << endl;cout << val2 << endl;--여기까진 제가 생각한 대로 출력이 되었습니다.-- reref = 1004; //재할당한 레퍼런스 변수 값을 변경하였습니다.cout << reref << endl;cout << val2 << endl;cout << val1 << endl;저는 여기서 reref와 val2가 1004가 출력이 되고 val1은 888이 나올 줄 알았지만, reref와 val1이 1004가 출력되고 val2는 456으로 값이 변경되지 않았습니다. cout << &reref << " " << &val2 <<" " << &val1 << endl;혹시나 해서 세 변수의 주소를 출력해보았는데 reref에 val2를 재할당했음에도 불구하고 reref와 val1의 주소가 일치하게 출력되었습니다.재할당한 레퍼런스의 변수는 값을 변경하면 안되는 건가요??레퍼런스변수가 재할당한 val2가 아닌,선언 시의 val1의 주소와 값이 같은 이유가 궁금합니다!환경은 visual studio 2022입니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
용어 질문
안녕하세요. 큰돌강사님~순열이나 조합을 재귀함수로 구현할 때변경을 적용한후 DFS진입합니다.DFS를 빠져나오고 나서는 변경사항을 다시 원복시키는 코드 패턴이 보여지는데(즉, push_back() => dfs => pop_back() )이에 대한 알고리즘 용어가 따로 있는지 궁금합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-F 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.보여주신 코드와 거의 비슷하게 만든 거 같은데 왜 통과가 안되는지 모르겠습니다.#include <bits/stdc++.h> using namespace std; typedef long long ll; struct A { int t, a, h; }; int n, att; ll mx, ret; A a[123459]; bool check(ll mid) { int cur_a = att; ll ph = mid; for (int i = 0; i < n; i++) { if (a[i].t == 1) { ll cnt = a[i].h / cur_a + (a[i].a % cur_a ? 1 : 0); ph -= (cnt - 1) * a[i].a; if (ph <= 0) return 0; } else if (a[i].t == 2) { cur_a += a[i].a; ph = min(mid, ph + a[i].h); } } return 1; } int main() { cin >> n >> att; for (int i = 0; i < n; i++) { cin >> a[i].t >> a[i].a >> a[i].h; } ll l = 1; ll r = 1e18 + 4; while (l <= r) { ll mid = (l + r) / 2; if (check(mid)) { r = mid - 1; ret = mid; } else { l = mid + 1; } } cout << ret; }
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
알고리즘 교안 164page 오류제보합니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.312 ->321 입니다. 강의 항상 감사합니다~
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-K 질문드립니다.
안녕하세요 큰돌님! 문풀 강의를 보기전에 구현을 먼저 해보고 강의를 시청했습니다. 나름대로 문제 풀이 방식(sudo code)를 만들어서 문제를 풀고 잘 풀었다고 생각했는데 큰돌님의 풀이를 보고 비교해보니 난잡한 풀이라고 생각하게 되었어요. 알고리즘을 풀 때 어떻게 생각해야 간결하게 정확한 전략을 세울 수 있을까요...? 문제를 풀 때 큰돌님의 생각루틴과 제 코드에 대한 피드백이 궁금합니다!http://boj.kr/833f44e07f3640228c53b006c8bf0ee5
-
미해결[게임 프로그래머 도약반] DirectX11 입문
좌표계 변환 행렬이랑 srt 변환 행렬
좌표계 변환 행렬이랑 srt 변환 행렬이랑 무슨 차이인가요local space에서 world space로 변할때는 srt 변환 행렬을 사용하고 local space에서 그 부모인 또 다른 local space로 변환할때는 좌표계 변환행렬을 사용하는 건가요
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-L 질문있습니다.
http://boj.kr/ad36bd7f8ec04337b4e4eb98ed2ecdfc이 코드는 틀린 코드이고http://boj.kr/8494f1ca7ca84fbeaa1cd47409006e9f이 코드는 맞은 코드인데요. 둘의 차이는 combi(0)으로 시작하냐 combi(-1)로 시작하냐입니다.근데 combi(-1)은 for (int i = start + 1; ...) 로 하고combi(0)은for (int i = start; ...) 해서 결국 똑같은 코드 아닌가요? 왜 combi(0)으로 하면 답이 안나오는지 모르겠습니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-A 질문 있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 선생님 이 문제를 재귀를 이용해서 풀어봤는데 인덱스를 포함하는 경우에서 temp_v 배열에 인덱스를 포함해서 보내는 경우는 어떻게 하는건가요??(요 부분)// 현재 인덱스를 포함하지 않는 경우 go(idx + 1, p, f, s, v, sum, temp_v); // 현재 인덱스를 포함하는 경우 go(idx + 1, p + a[idx].p, f + a[idx].f, s + a[idx].s, v + a[idx].v, sum + a[idx].c, temp_v);#include <bits/stdc++.h> using namespace std; const int INF = 987654321; int n, mp, mf, ms, mv; int ret = INF; map<int, vector<vector<int>>> ret_v; // 비용별 조합 저장 struct A { int p, f, s, v, c; } a[16]; void go(int idx, int p, int f, int s, int v, int sum, vector<int> temp_v) { // 모든 재료를 확인한 경우 if (idx == n) { // 최소 조건 만족하는지 확인 if (p >= mp && f >= mf && s >= ms && v >= mv) { if (ret > sum) { ret = sum; // 최소 비용 갱신 ret_v[ret].clear(); // 이전 조합 제거 ret_v[ret].push_back(temp_v); // 새로운 조합 저장 } else if (ret == sum) { ret_v[ret].push_back(temp_v); // 같은 비용의 다른 조합 저장 } } return; } // 현재 인덱스를 포함하지 않는 경우 go(idx + 1, p, f, s, v, sum, temp_v); // 현재 인덱스를 포함하는 경우 go(idx + 1, p + a[idx].p, f + a[idx].f, s + a[idx].s, v + a[idx].v, sum + a[idx].c, temp_v); } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); // 입력 받기 cin >> n >> mp >> mf >> ms >> mv; for (int i = 0; i < n; i++) { cin >> a[i].p >> a[i].f >> a[i].s >> a[i].v >> a[i].c; } // 탐색 시작 go(0, 0, 0, 0, 0, 0, {}); // 결과 처리 if (ret == INF) { cout << -1 << '\n'; // 조건 만족하지 못하는 경우 } else { sort(ret_v[ret].begin(), ret_v[ret].end()); // 사전순 정렬 cout << ret << '\n'; // 최소 비용 출력 for (int idx : ret_v[ret][0]) { // 첫 번째 조합 출력 cout << idx << " "; } cout << '\n'; } return 0; }
-
미해결[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
BP에서 노드 정리하는 단축키가 뭘까요??
BP에서 노드 정리하시는걸 단축키로 하시는 것 같은데찾아봐도 강사님처럼 노드 정리하는 옵션을 찾을 수가 없네요...
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
Cosmetic#1 강의 중 "Network Serialize Array"에 대하여
Cosmetic#1 강의 중 22분경에 CharacterPart에 대한 정보 단위를 'List'와 'Entry'로 나누는 이유에 대한 질문입니다.언리얼 네트워크에 Array의 수정사항을 요청할때, Array 전체를 보내는 것이 아닌 수정된 Array의 일부분만 요청해서 수정할수있게하는게 "Network Serialize Array 문법"이라고 하셨는데요.이 부분에 대해서 구글링 해보려하는데 정보를 찾을수가 없어서 혹시 참고할만한 링크 부탁드려도 될까요???
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-O 4949 코드 질문
http://boj.kr/5a9e690ac2f24bc3bdd728d4be9a82e9큰돌님 제가 작성한 코드로는 . (예제 입력1 의 7번 "공백.")이걸 입력하면 .이 출력 되면서 .이 왜 출력되는지 모르겠고 어디 부분이 잘못된 것인지도 모르겠습니다.코드가 잘못된 부분 조언 부탁드립니다 !
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
해당 문제를 set을 사용해서 풀었는데 이분탐색보다 속도가 느린 이유가 궁금합니다
std::set은 레드블렉 트리로 구현하여 삽입, 삭제, 검색 모두 O(logN)인걸로 알고있습니다. 이분 탐색도 시간 복잡도가 O(logN)인데 왜 std::set을 사용하면 더 느린지 궁금합니다.아래는 풀이 소스코드입니다.#include <bits/stdc++.h> using namespace std; int32_t t, n, m, tmp; set<int32_t> s; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); cin >> t; while (t--) { cin >> n; s.clear(); for (int32_t i = 0; i < n; ++i) { cin >> tmp; s.emplace(tmp); } cin >> m; for (int32_t i = 0; i < m; ++i) { cin >> tmp; if (s.contains(tmp)) { cout << "1\n"; } else { cout << "0\n"; } } } return 0; }
-
미해결[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
HandleChangeInitState
HandleChangeInitState 함수로 디버깅을 진행할 떄마다, 이전에 넣었던 매개변수 중 FGameplayTag 들 모두 illegal_Name으로 받아와 인식을 못하는 오류가 있는데, 어디서부터 봐야할지 막막합니다
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
섹션5 InitState에서 궁금한점이 있습니다
void FHakGameplayTags::AddAllTags(UGameplayTagsManager& Manager)이 함수에서 Manager를 사용하고 있지 않는데 전달하는 이유가 뭔가요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-A
안녕하세요 선생님. 선생님과 거의 비슷한 방법으로 풀었는데 cmp부분에서 논리적 오류로 틀린것 같습니다. 혹시 어느 부분때문인지 알려주시면 감사하겠습니다.http://boj.kr/904583c9595b4c1192fc5d9496c76678
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
질문드립니다.
2-S 백준1325 효율적인 해킹 문제에서시간복잡도가 10억인데,시간복잡도가 10억이어도 괜찮나요?
-
미해결[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
[섹션 14 Weapon Impacts] NS_ImpactConcrete, ... 등이 Migrate 되지 않음
안녕하세요. Weapon Impacts 강의를 수강하고 있습니다.Lyra 프로젝트에서 NS_ImpactConcrete 등을 Migrate하는 과정을 수행하고자 하는데, 다음과 같은 assertion failed 에러가 발생하며 엔진이 강제 종료되는 문제가 발생하였습니다. LoginId:e0fc4ff04603c244ee09fb9136815b0b EpicAccountId:32f42a962d744041bf35dec93c7fe384 Assertion failed: Ret [File:D:\build\++UE5\Sync\Engine\Plugins\FX\Niagara\Source\Niagara\Public\NiagaraDataChannelHandler.h] [Line: 43] UnrealEditor_Niagara UnrealEditor_Niagara UnrealEditor_Niagara UnrealEditor_Niagara UnrealEditor_Niagara UnrealEditor_Niagara UnrealEditor_Niagara UnrealEditor_Niagara UnrealEditor_Niagara UnrealEditor_Niagara UnrealEditor_Engine UnrealEditor_Engine UnrealEditor_UnrealEd UnrealEditor_UnrealEd UnrealEditor_LyraEditor!ULyraEditorEngine::Tick() [D:\build\++UE5\Sync\LocalBuilds\Lyra\Windows\Source\LyraEditor\LyraEditorEngine.cpp:39] UnrealEditor UnrealEditor UnrealEditor UnrealEditor UnrealEditor UnrealEditor kernel32 ntdllNiagaraDataChannelHandler.h의 43번줄 코드를 보니 다음과 같은데, 나이아가라의 데이터 채널을 가져오는 과정에서 문제가 발생하는 것 같습니다.const UNiagaraDataChannel* GetDataChannel() const { const UNiagaraDataChannel* Ret = DataChannel.Get(); check(Ret); return Ret; }검색해보니 나이아가라 플러그인 버전 문제일 가능성이 있다고 하는데, 별도로 나이아가라 플러그인 설정을 건드린 적은 없는 것으로 기억해 원인을 찾기가 어려운 상황에 있습니다. 혹시 몰라 Build.cs 파일에 의존 모듈 이름으로 "Niagara"를 추가해봤지만 여전히 되지 않는 상황입니다. 해당 섹션 내용을 정리한 노션 페이지 입니다. 혹시 문제가 있는 부분이 있는 지 확인해주시면 감사하겠습니다...
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
수업자료 공유
강의에서 사용하는 도식들을 수업자료 통해서 공유해주실 수 있을까요?