묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-I 반례 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.선생님 , 코드가 많이 지저분한 코드지만 예제 출력이랑 반례들을 여러가지 해본 결과 잘 출력 되는것 같은데 3%에서 계속 틀렸다고 뜹니다... 어디 부분이 잘못된 건지 알 수 있을까요??http://boj.kr/4530d78bb2464d989fe7a7e5adc42342
-
미해결홍정모의 따라하며 배우는 C++
코드 실행속도가 너무 느립니다.
강의를 보고 따라한 아래 코드의 실행속도가 강사님에 비해 너무나 느립니다. 실행환경의 문제인가요??#include<iostream> #include<thread> #include<atomic>//나눌 수 없다는 뜻. 쓰레드에서 연산이 한번에 이루어지도록 함 #include<mutex> #include<chrono> using namespace std; mutex mtx; int main() { //atomic<int> shared_memory(0); int shared_memory(0); auto count_func = [&]() { for (int i = 0; i < 1000; ++i) { //cout << shared_memory << endl; this_thread::sleep_for(chrono::milliseconds(1)); //doSomething; //mtx.lock(); //std::lock_guard lock(mtx);//unlock필요없음 std::scoped_lock lock(mtx); shared_memory++; //shared_memory.fetch_add(1); //mtx.unlock(); //shared memory의 값을 더할 떄의 과정 //1.shared memory값을 cpu로 가져옴 //2.1더함 //3.sharedmemory에 결과 저장 //값을 읽어들었을 때, 값이 바뀌면 더하기가 씹혀버림 => 잘못된 결과 //해결법 //1. atomic 사용 //2. fetchadd //3. mutex lock } }; thread t1 = thread(count_func); thread t2 = thread(count_func); t1.join(); t2.join(); std::cout << "After" << endl; std:: cout << shared_memory << endl; return 0; }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-A 질문합니다
안녕하세요, 강사님.저는 처음에 아홉 난쟁이의 키 분포를 저장할 수 있는 배열을 선언하고, 해당 키에 해당하는 난쟁이를 배열에 넣고, (전체 합 - 100)에 해당하는 난쟁이 두명을 찾는 방식으로 문제를 해결했습니다. 예제는 맞는데 틀렸다고 뜨는 이유를 모르겠습니다. 감사합니다.http://boj.kr/7e220e252b364c1e8dbf2d7c16a72cd0
-
미해결홍정모의 따라하며 배우는 C++
맥 "clang: error: linker command failed with exit code 1 " 에러
안녕하세요 맥 사용자 입니다. 답변으로 아래와 같이 추가 질문 드립니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
선생님 감사합니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 올해 초 골드 4~5도 못풀던 제가 플레를 스스로 풀었습니다.열심히 계속 진행하겠습니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
교안 스크립트 관련 질문드립니다
안녕하세요! 감사하게도 제공해주신 강의 스크립트로 필기를 자주하는데요, 1주차 개념 #10. 구현과 문제를 푸는 방법의 기초 강의에 스크립트가 없어서요..ㅜㅜ 제가 알기론 인프런에서 ai로 스크립트를 제공하는 걸로 알고있는데 해당 강의 스크립트는 인프런에다가 요청 드려야할까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-D 질문입니다
http://boj.kr/b9694422323942259c6e0971b71621681987번 문제에서는 시작 지점이 왼쪽 상단으로 고정되어 있는데 만약에 시작 지점이 어디든 될 수 있다면 위의 코드 41번째 줄부터 43번째 줄까지를ffor (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { vis[i][j] = 1; alpha[board[i][j] - 'A'] = 1; solve(i, j, 1); vis[i][j] = 0; alpha[board[i][j] - 'A'] = 0; } }위의 코드로 바꾸면 알맞은 답이 나오는지 알고 싶습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
소수점
만약 소수점 #자리까지 표현해야 하는 문제는그냥 printf 쓰는게 낫나요?아니면 cin함수를 유지하되 precision 같은 함수를 쓰는게 낫나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-O 관련 질문이 있습니다.
안녕하세요 큰돌님!정확히는 6-O에 국한된 질문은 아니지만6-O 2565 전기줄 문제 풀다가어떻게 풀지 감이 잘 안잡혀서 영상보고내가 직관력이 부족한건가 싶어서 여쭙습니다.이번 6주차, 이분 탐색과 LIS를 하면서이분 탐색은 제가 연습량이 부족한거 같아 solved.ac실버 난이도 무지성 박치기 하니깐 이제 감이 좀 잡혔습니다.다만, LIS 관련 문제는 "최장 증가 수열" 이란 단어가 없으면 LIS를 이용할 생각이 전혀 안나요.6-O 강의를 보면서 정말 깜짝 놀랐습니다. 어떻게 LIS를 이용해서 푸실 생각을 하신건지...실제로 문제중에 "최장 증가 수열"이란 단어가 없음에도 LIS를 이용해 풀이가 가능한 문제들이 많은가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
BFS 당근마켓 방문 겸 가중치 처리 질문입니다.
visited[nextY][nextX] = visited[nowY][nowX] + 1;로 방문 겸 가중치를 처리해주는데 가중치가 업데이트가 되지 않습니다. (모든 visited 배열이 1로 표시됨)혹시 이유가 있을까요 ㅜㅜ붙잡고 있어도 어디가 문제인지 잘 모르겠네요.http://boj.kr/fc00f1fba57c469881ce2b1aff27fc66 +) 탐색은 잘 진행됩니다.visited 배열 출력 첨부하니 참고해주시면 감사하겠습니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
교안 p79 질문드립니다
안녕하세요 큰돌님!교안 p79에 memset() 개념에서char형의 하나의 문자(a, b, c, 등..)으로 초기화도 가능하다고 하셨는데, 어떻게 초기화하면 될까요?#include <bits/stdc++.h> using namespace std; const int max_n = 1004; int a[max_n]; int a2[max_n][max_n]; int main() { memset(a, 'a', sizeof(a)); memset(a2, 0, sizeof(a2)); for (int i = 0; i < 10; i++) cout << a[i] << ' '; cout << '\n'; return 0; } 위의 예제 코드를 실행하면1633771873 1633771873 1633771873 1633771873 1633771873 1633771873 1633771873 1633771873 1633771873 1633771873 가 나옵니다ㅠㅠ 그리고 교안 80p에 예제코드로 올려주신 아래 코드가 잘못된 것 같습니다 🙂 수정해주시면 감사하겠습니다.#include <bits/stdc++.h> using namespace std; int main() { int cnt = 0; int a[5] = { 0, }; while (++cnt != 10) { for (int i = 0; i < 5; i++) a[i] = i; a[5] = { 0, }; for (int i : a) cout << i << ' '; cnt++; } return 0; }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-M 질문
안녕하세요 큰돌님!회전에 대한 아이디어를 떠올리지 못해서4방향에 대해서 dfs 돌리면서 구현해 보았는데TC는 다 통과하는데 바로 틀렸다고 나와서 질문 드립니다 ㅠㅠ 어느 부분을 신경쓰지 못한 걸까요? 일단 저는 3가지 pair<int,int>형 배열을 사용하고3가지 함수를 구현 했습니다. 우선 3가지 pair<int,int> 배열입니다.pair<int, int> startPos[4] = { {0,0},{20,0},{0,0},{0,20} }; // 위,아래,왼,오 부터 시작할때의 시작 위치 pair<int, int> NextRow[4] = { {0,1},{0,1},{1,0},{1,0} }; // 각 방향에 대해서 다음 줄로 이동하기 위한 pos 양. ex) 위일 경우 한줄하고 다음 열로 가서 해야함 pair<int, int> NextPos[4] = { {1,0}, {-1,0},{0,1},{-1,0} }; // 한 줄에 대해서 다음 Pos로 가기 위한 이동 양. ex) 위일 경우 0번행부터(열고정) 끝 행까지 검사해야 한다.3가지 함수 프로토 타입입니다.void dfs(int cnt, int curIdx); void moving(int dirIdx, int PivotIdx, int InputIdx); void updataMaxRet(int findIdx);dfs : 최대 5번까지의 이동을 하기 위함. dfs에 들어가면 4방향에 대해서 이동한다.dfs에서 각 방향에 대해서 호출되는 함수로. 새로운 배열에 이동된 값들을 넣어준다.이동된 새로운 배열에 대해서 최대값 업데이트 코드 링크는 여기있습니다.http://boj.kr/d56849369aa34f00b3ffea60647a4816
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-I 문제 , 함수 질문
강의에서는 atoi(s.c_str()) 를 쓰는데혹시 stoi 함수랑 개념이 같나요?두 함수 모두 string 에서 int 형으로 변환하는데어떤 차이가 있나요?저는 for(int i=0;i<m;i++){cin >> s;if(atoi(s.c_str()) == 0) cout<<A[s] << "\n";else cout << B[atoi(s.c_str())] << "\n";} 이 부분을 for(int i=0;i<m;i++){ cin >> s; if(isdigit(s[0])){ cout << B[stoi(s)] << "\n"; } else{ cout << A[s] << "\n"; } }이렇게 해봤네요
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-X 시간초과 질문입니다!
https://www.acmicpc.net/source/74215560안녕하세요 ㅠ시간 초과가 왜 나는 건지 잘 모르겠습니다...제가 계산한 것에 따르면1. 모든 경우의수 4^82. 기준 방향 설정 x43. 기준 방향을 중심으로 4방향 탐색 후 감시 방향 기록 (최대 3방향, 가로,세로 8칸) x (64+64(복사))=> 34백만 정도맞왜틀일까요..ㅠㅠ
-
미해결readable_code::CMake - Fancy하게 C++ Project 만들기
cmake 설치 및 예제 파일
안녕하세요. 강의를 보면서 따라 하고 싶은데 cmake 설치 및 버전, 파일 구조등에 대한 정보를 찾을 수 없어서 문의 드립니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part5: UE5 & IOCP 서버 연동
로직 스레드가 1개인 경우
강의로 지금까지 알려주신 구조가 로직 스레드가 1개인 경우라고 하셨는데,아래 영상에 7분 경에 나오는 오딘의 스레드 구조랑 크게 보면 똑같다고 보면 될까요?MMORPG의 성능 최적화 사례 공유 '카카오게임즈 - 오딘: 발할라 라이징' (youtube.com)그리고 또 영상에 13분 쯤부터 아키텍처를 설명해주는데 유저들이 게임 서버에 직접 안붙고, 게이트웨이에만 붙어서 플레이한다는데 이러면 서버를 기본적으로 2번 거쳐야되는 거 같은데 이렇게 해도 문제가 없는 걸까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-G 질문
http://boj.kr/8edf26bd4812427b8ea57ea5702bf7aa 저는 이 문제를 , 예를 들어, string key 로 ab*ba 를 받는다고 하면substr() 와 find()함수를 이용하여 이전 문자들은 start에 저장, 이후 문자들은 end에 저장하였습니다.이후에 name 문자열에 n만큼 받으면 name을 받을때 마다 ssubstr와 length()함수를 이용하여 start와 end를 비교하여 문제를 푸는 방식으로 풀었습니다.출력은 제대로 나오는데 백준에서는 틀렸다고 나옵니다. 어디가 틀린걸까요?
-
미해결홍정모의 따라하며 배우는 C++
맥 "clang: error: linker command failed with exit code 1 " 에러
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 안녕하세요 맥 사용자입니다.본 강의 챕터 관련하여 궁금한 점이 있어 글을 남깁니다.커뮤니티에서 "lahat"님의 문제와 답변을 참고 삼아 clang+ add.cpp main_chapter1_11.cpp로 링킹 하였으나, main_chapter1_11.cpp파일이 "clang: error: linker command failed with exit code 1 "와 같은 오류 메세지를 띄고 있고 a.out 프로그램은 실행은 정상적으로 실행이 됩니다. 여기서 궁금한 점은 링킹을 정상적으로 성공 후에도 main.cpp에서는 위와 같은 오류 메세지를 띄고 있는 지 궁금합니다. 바쁘신 와중에 긴 글을 읽어주셔서 감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-G 질문있습니다.
https://www.acmicpc.net/source/74183426 정말 단순하게, 한칸 이동 혹은 2배 이동으로 뻗어나가는 재귀를 구현하였습니다.테스트 케이스는 통과했는데 시간초과가 나네요..이게 맞기는 한 코드인지 판단이 안되어 질문 남깁니다.로직이 맞는 지 한 번 검토 부탁드리겠습니다..
-
해결됨CUDA 프로그래밍 (3) - C/C++/GPU 병렬 컴퓨팅 - 메모리 구조
계산시간 비교
알찬 강의 계속 잘 듣고 있습니다!CPU와 GPU version의 계산시간 비교에 대해 질문 드립니다. 커널에서 계산시간만 비교하면 CUDA이 훨씬 빠릅니다. CPU version (filter-host.cu): 44,784 usCUDA version (filter-dev.cu): 830 us하지만 CUDA version에서 메모리 복사를 포함하면 337,737 us 으로 CPU version보다 훨씬 느린 것 같습니다. 혹시 메모리 복사 시간을 줄이는 방법이 있는지요?