묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-A 그림 질문
5분 50초에 그려져 있는 그림에서 벡터를 오름차순 정리 했으니 비용도 오름차순으로 정렬되게 그려야하는 것 아닌가요?일정이 짧은 순서대로 정렬되고 비용 또한 오름차순 정리되면 아래 그림처럼 그리는것이 맞을까요? 수업 듣다가 헷갈려서 여쭤봅니다 ㅎㅎ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-B 강의 질문
안녕하세요 큰돌 선생님!강의를 여러번 보고서도 이해가 되지 않아서 질문 남깁니다. Q. 이 문제는 왜 DP로 접근해야 하는지 보충 설명을 추가해주시면 감사하겠습니다... 브루트포스 느낌인건 알겟는데 경우의 수를 계산하기 위해서 식을 어떻게 세워야 할 지 논리적으로 맞는지를 잘 모르겠습니다... 도와주시면 감사하겠습니다!
-
미해결홍정모의 따라하며 배우는 C++
맥에서 Makfefile 사용하지 않고, vscode를 사용하여 헤더파일 포함해 실행시키는 법
답변들이 외부 링크만 알려주고 불친절하다고 생각해 직접 찾아보고 적어봅니다. 시작한지 1주차라 많이 틀릴수도있습니당일단 이건 제 폴더 화면이구요 ch1.cpp가 메인함수이고, 리소스에 add함수(헤더파일 및 바디)를 넣었습니다. 이제 각각에 main.cpp(저는 ch1.cpp라고함) , add.cpp , add.h입니다. 여기서 명령어를 보통 g++ -std=c++14 -Wall ch1.cpp -o test.out 이렇게 치실텐데 이러면 오류나면서 실행이 되지않죠 왜 안될까요? 링커라는게 각각의 cpp파일들을 컴파일한 후에 obj파일로 만들고 이것들을 실행이 가능한 하나의 exe파일 만드는 과정중에 하나인데 우리는 지금 main함수 cpp파일 하나만 컴파일 해놓은 겁니다. 즉 컴파일러가 exe파일로 만들려는데 main.cpp이 main.o로 만들어진거는 확인이 되었는데 add.cpp파일이 컴파일 안되어있으니까 이 링커과정에 문제가 생기는거죠. 해결방법은 간단합니다 add.cpp파일도 컴파일 해주면 대여g++ -std=c++14 -Wall ch1.cpp add.cpp -o test.out -> 해석하면 g++컴파일러 사용해서 ch1.cpp 파일 컴파일하고 add.cpp파일도 컴파일해서 test.out이라는 실행파일 만들어줘 입니다. 이러면 이제 정상적으로 실행이됩니다. cpp배운지 일주일차라 틀린 부분이 있을수도 있어요. 그래도 실행되죠?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
시간초과
우선 순위 큐를 쓰는 대신에 보석을 넣는 벡터(J)에서 erase로 가방에 넣을 수 있는 보석은 바로 제거하는 알고리즘으로 작성하였는데 시간초과가 뜨네요.. erase를 사용해서 시간복잡도가 높아진 것일까요? 이런 방법으로는 문제를 풀 수 없을까요?http://boj.kr/2136c28d9e844ba1b1d04a5e369dada0 또한 j를 초기화 할 때 for문 안에서 초기화 해야하는 것 아닌가요? 가방 크기가 작아 못 들어간 보석도 다시 처음부터 탐색해야하니까요. 근데 for 문안에서 j를 초기화 하면 메모리 초과가 뜨네용 ㅜㅜ #include<bits/stdc++.h>using namespace std; typedef long long ll;ll n, k, ret, temp1, temp;int main(){ ios_base::sync_with_stdio(false);cin.tie(NULL); cout.tie(NULL); cin >> n >> k; vector<pair<ll,ll>> v(n); vector<ll> vv(k); for(int i = 0; i < n; i++){ cin >> v[i].first >> v[i].second; } for(int i = 0; i < k; i++) cin >> vv[i]; sort(v.begin(), v.end()); sort(vv.begin(), vv.end()); priority_queue<ll> pq; // 여기 자리에 있던 int j = 0;를 아래로 옮겼습니다. for(int i = 0; i < k; i++){ int j = 0; while(j < n && v[j].first <= vv[i]) pq.push(v[j++].second); if(pq.size()){ ret += pq.top(); pq.pop(); } } cout << ret << "\n"; return 0;}
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-K 메모리 초과 질문입니다.
항상 강의 잘 듣고 있습니다.큰돌 선생님 강의 듣고 다시 풀어서 제출을 해봤는데 메모리 초과가 뜨더라고요. 그래서 원인을 분석해본 결과 y, x를 moveSwan 함수와 waterMelt 함수에서 지역 변수로 선언할 때 메모리 초과가 뜨는 것 같습니다. 반복문 안에서 변수 선언을 하게 되면 메모리에 부하가 생기는 건가요? 메모리초과 코드http://boj.kr/69f8be6483e4422ca6c664262980c394맞은 코드https://www.acmicpc.net/source/share/4807660d703449afa8092bcb3f32552f
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
좌표 출력 뒤 배경에 bmp 파일 출력
마우스 좌표 출력 뒤에 red.bmp 파일을 출력하도록 바꿔 봤는데요, 이상하게 마우스를 움직여도 좌표 출력값이 업데이트가 안되네요 창을 내렸다가 올리면 그때 출력값이 최신화가 됩니다 어디가 잘못된 걸까요?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
버튼을 누르지 않았는데도 if 문을 실행하네요
Left 버튼을 누르지 않았는데도 _playerPos.x 구문으로 넘어가서 실행 시 계속 원을 좌측으로 보내 버리네요 코드를 다시 보고 있는데 어디가 잘못되었는지 잘 안보이네요..
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-A_19942 인덱스 질문
http://boj.kr/40440de5cbbb48f59125df1e7e30c453질문 3개가 있습니다.1.모든 경우의 수를 찾는 아래의 코드에서 i=0이 아닌 1부터 시작하는 이유는 식재료를 아무것도 고르지 않는 경우의 수는 없기 때문인가요?(최소 1개 이상 식재료를 골라야 하기 때문인가요?) 그러면 그냥 0부터 시작해도 어차피 결과에 영향을 주지는 않으니 그냥 0부터 시작해도 문제는 없겠죠?for (int i=1; i< (1<<n); i++) map은 key-value 쌍으로 알고 있습니다. 그렇다면 아래 코드에서 ret_v의 형태는 (key, value)쌍 으로 (최소 ret 비용, {{1,2,3}, {2,4,5}})이런식으로 들어가 있는건가요? map<int, vector<vector<int>>> ret_v;...if(b>=mp && c>=mf && d>=ms && e>=mv){ if(ret>=sum){ ret=sum; ret_v[ret].push_back(v) 3.처음에 key를 생성할때 insert로 집어 넣어야하는걸로 알고 있는데 그러면 ret_v[ret].push_back(v)말고 ret_v.insert({ret, {v});이런식으로 넣어도 될까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
소수 check 함수
아래는 소수 판단 여부를 알려주는 함수입니다! 여기서 if(n%2==0) return 0; 이 부분이 모듈러 연산에 이미 포함되어 있는 내용 아닌가요? (n%2==0) 이 조건도 따로 서술해줘야하는지 궁금합니다. bool check(int n){ if(n<=1) return 0; if(n==2) return 1; if(n%2==0) return 0; <-이건 이미 for (int i =2; i*i <=n; i++){ <-모듈러 연산에 포함되어 있는 것 아닌가요? if (n%i==0) return 0; } return 1; }
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-H 시간초과
https://www.acmicpc.net/source/share/71ef58daaf4144a5bf9ab254f862398a3-H 숨바꼭질4 문제에서 정점을 방문하면서 방문한 정점을 벡터에 담고 그 벡터를 큐로 넘겨주어서 k에 도착했을때 벡터를 출력하도록 로직을 짰습니다. 하지만 시간초과가 나오는데 원인을 잘 모르겠어서 질문드립니다. 그리고 추가로 c++에서는 벡터나 배열의 일부분을 잘라서 이용하는 로직은 잘 사용하지 않는지 궁금합니다. JS로 알고리즘을 풀때는 splice 나 slice등으로 배열을 자르고 복사하는 방식을 자주 사용했었는데 지금까지 큰돌님의 강의를 들으면서 그 와 같은 방식은 잘 못 본 것 같아서 질문드립니다.
-
해결됨[게임 프로그래머 도약반] DirectX11 입문
Reflection은 어떤 식으로 구현하나요?
수업 내용과는 관련이 없을 수도 있을 것 같은데, 개인적으로 dx 포폴에 리플렉션을 구현해 보고 싶어서 궁금해서 찾아보다가 해결이 안 되어서 질문 남깁니다.금속이나 물, 거울 등 반사되어 렌더링 하는 물체는 카메라의 높이나 각도에 따라 실시간으로 새로 그려지는데 이건 어떤 식으로 구현하나요? 1주차에 배운 samplerstate의 mirror를 활용하게 되는건지..제가 고민해 본 방법은 주변 환경을 실시간으로 캡처해서 캐시로 만들고 큐브맵으로 텍스처를 재가공해서 사용하면 될까 싶은데 어렴풋이 떠올리는 방법이랑 실제 구현의 갭은 너무 크네요 ㅜㅜ리플렉션 종류가 많고 해서 너무 광범위한 질문일 거 같은데 디테일하게 질문할 실력이 안되어서 죄송합니다. 참고할만한 책이나 자료라도 추천해주시면 감사하겠습니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-K 공기청정기가 (y,x) 0,0이나 n-1,0에 걸쳐 있는 경우
이 경우는 제외되나요? 아니면 한쪽 v에는 아무것도 안들어가지고 다른 한쪽만 공기청정 되는건가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-J 질문
지금 해설 코드가 7:40에서 2번으로 푸신 거죠? 1번으로 푸신게 아니라? 해설 코드 에 1,2번이 다 있나요? 저는 1번으로 생각했는데 지금 해설 코드가 2번으로 푸신 거 같고 2번도 로직은 이해가 가는데 해설 코드는 이해가 안되서 질문드립니다 ㅠㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-F word && (word & mask) == word 의 의미
공유 소스 보기 (acmicpc.net)if문이 true인 경우는 (word 가 0이 아님 당연한거 아닌가?) (그리고 and &&) (word&mask==word 둘이 같음) 걸로 봤는데 이런 의미가 아닌가요? word && 이부분을 빼보니까 답이 제대로 안 나오긴 하네요 그러니까 질문은 word &&~ 이 부분이 무슨 의미인지 모르겠네요
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
플레이어 이동에서 Vector 클래스 질문
미로 생성 까진 완료 했고플레이어 넣어서 이동하는 코드 작성 중에 추가된 벡터 클래스 코드 파일 받을 수 있을까요? 수업 대로 코드 작성하고 실행하는데 계속 오류나서 실행이 안 됩니다
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-L 해당 문제 조합으로 풀이 삭제하신 의도가 있으실까요?
큰돌님 안녕하세요?어쩌다보니 구형 / 신형 교안 섞여서 갖고 있는데구형교안에는 5-L이 bitmask와 combination 두개의 풀이가 있는것을 보았습니다.신형으로 넘어오면서 combination풀이는 삭제된 것을 알 수 있었는데, 어떤 의도가 있어서 삭제 하셨을거 같아서 문의 드립니다.답변 미리 감사합니다.수강자 드림.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
그래프이론 문제분류
큰돌님 안녕하세요!!다름이 아니라 2주차 문제중에 dfs, bfs를 이용하는것이 아닌구현, 그리디 문제도 존재하는데 의도가 있으셔서 중간에 추가를 하신건가요?? 문제를 풀다가 궁금해서 남겨봅니다!!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-F 안배우는 경우의 코드
공유 소스 보기 (acmicpc.net)if (index != 'a'-'a' && index != 'n'-'a' && index != 't'-'a' && index != 'i'-'a' && index != 'c'-'a') { ret = max(ret, go(index+1, k, mask)); }ret=max(~)이게 무슨 의미인지 모르겠습니다 ㅠㅠ 어떤 재귀 구조인지 그림을 못 그리겠습니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
인구 이동 문제
http://boj.kr/df8629bfbd4f4bd69ecbbb0fa031719a go 함수를 통해 서로 국경선을 공유하는 영역끼리 1로 표시하고 연결된 컴포넌트 문제로 만들기dfs 함수를 통해 영역별로 각각 접근하면서 A[r][c] 값 평균화 이 아이디어로 접근했는데 무엇이 잘못된건지 모르겠습니다..아예 틀린 생각인가요..??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-B 뒤집기 질문드립니다
1)뒤집었던 행을 열을 뒤집고 다시 뒤집는 걸 고려 할 필요가 없는 건가요?2)행을 뒤집고 열 뒤집기 열 뒤집고 행 뒤집기 순서 달라도 결과가 같나요?