묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-E 메모리제이션 질문 있습니다.
큰돌님 안녕하세요?해당문제 메모리제이션 질문 있어서 들고 왔습니다. 아래는 제가 짠 코드고, 전체적인 로직은 해설하고 같은데 mem 쪽이 좀 달라서 질문 들고 왔습니다.http://boj.kr/5fac53ce112b4d7a8781f7c8f21ea24a 저는 mem 쪽을 아래와 같이 처리했는데요,&ret = dp[F][H];(ret !=0) return ret; 큰돌님 해설에는 조금 다르게 되어 있는 것 같아서요if(dp[whole][not_whole]) return dp[whole][not_whole];&ret = dp[whole][not_whole]; Q1. 왜 해설에서(ret !=0) return ret;이거를 쓰지 않는건가요? Q2. 아래 두 코드는 사실상 의미가 같은건가요?&ret = dp[F][H];(ret !=0) return ret;if(dp[whole][not_whole]) return dp[whole][not_whole];&ret = dp[whole][not_whole]; Q3. 강의 1분 54에서도 "dp가 있으면 그냥 dp를 반환한다"고 설명해주셨는데 위 질문과 관련이 있을까요?"dp가 있으면 그냥 dp를 반환한다"는 말도 이해가 어려워서 추가로 설명 받을 수 있을까요? 답변 미리 감사합니다.수강자 올림
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-H 반례
안녕하세요! 숨바꼭질 문제를 풀다가 trace 배열을 만드는 것 말고, visited의 값 만을 이용해 문제를 풀 수 있을 것 같아서 다음과 같이 코드를 작성했습니다.http://boj.kr/ef5e639dacc44c76a86baa28a9d967b8visited값에 대한 map을 만들어 값을 역추적 해 나갔습니다! 근데 48% 쯤에서 틀렸다고 나오네요,,, 백준 질문게시판에 적힌 반례들을 모두 넣어봐도 적절한 반례를 못찾겠습니다ㅠㅠㅠ
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
knight 기본생성자
knight에 기타 생성자를 만들어 주면, 기본 생성자를 사용 할 수 없다고 했는데, 새로운 knight를 만들어 주어 기본 생성자를 이용하니깐 잘 만들어 지더라구요.제가 잘 못 이해 하는걸까요?같은 객체일 경우 기본 생성자가 실행이 안된다는 말씀 일까요?새로운 객체면 상관 없는거구요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-V 바텀업 질문
선생님 안녕하세요! 저는 한번 바텀업 형식으로 풀어봤는데요,http://boj.kr/c788996f4fab486191d7c17ca93ff668테스트케이스는 다 맞는데 틀렸다고 나오네요 ㅜ우선 2개의 dp배열을 만들어서 자전거와 도보, 같은 index일 때 두가지 옵션이 서로 더해지지 않게, 즉 겹치지 않게한 것이 저의 의도입니다.어디서 틀렸을지 잘 감이 안오는데 ㅜㅜ 한번 봐주시면 감사하겠습니다 🙇♀
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-O. 모듈러 연산 질문
모듈러 연산은 분배법칙이랑 비슷한 것 같은데, 유사한 것이라고 알고있어도 될까요?또한, 이제까지는 cin, cout을 쓰시다가 왜 이 문제에서는 scanf, printf를 쓰셨는지 궁금합니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-K 주몽 문제 재귀를 이용한 조합으로 푸는 방법
모범 답안을 확인할 수 있을까요? 저도 풀 때 선생님이 푸신 것 처럼 이중 포문을 이용해서 했었는데, 재귀를 이용해서 푸는 방법도 궁금합니다.또한, r이 3 이하일 경우 무조건 이중 for문으로 돌리는게 시간복잡도가 재귀보다 낮게 나오나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1 - N 짊
http://boj.kr/84fc8018313e4742bc5b749cee39e0f9선생님 제가 코드를 짜보았는데 틀립니다가 계속 나옵니다. 혹시 어느부분이 문제인지 알려주실 수 있나요?
-
미해결
c++ 이상하게 저장되는 코드 질문있습니다
void put2byte(void *dest, uint16_t data){ *(uint16_t*)dest = data; } uint32_t num_data = hdr.get_num_data(); void* offset_array = hdr.get_offset_array(); //오프셋 어레이 받아오기 uint16_t now_data_region_off = hdr.get_data_region_off(); void* data_region = 0; uint16_t off = 0; uint16_t remain_data_region_off = now_data_region_off - input_record_size; put2byte((void*)((uint64_t)offset_array + num_data * 2), remain_data_region_off); 이렇게 되어있는데 remain_data_region_off 이 값이 37이하이면 37이하로 저장되는게 아니라 이상하게 저장이 되는데 무슨 문제인지 모르겠습니다 예를 들어 remain_data_region_off = 37 이면 7717이 저장되는데 num_data가 6일때만 발생합니다 0~5까지는 제가 설정한 값대로 저장이되는데 이유를 모르겠습니다
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
[문자열] 강의 부분에서 StrCpy함수 포인터로 구현 하는 부분 질문 있습니다.
글로 질문은 처음이라 두서 없을 수 있다는 부분 양해 부탁 드립니다. char* StrCpy(char dest, char src) 함수에서 char * ret = dest; 선언을 통해 기존 원본 위치값을 저장해 주는것은 알겠는데,while문이 다 돌고 나서 'dest'의 값을 확인해 보면 문자열이 없는 것을 데이터를 확인 하여 알았습니다.그 이유가 'dest++'을 통해 포인터의 시작 위치 값을 변경해 주어서 값이 없는 주소 부분을 가르키기 때문에 'dest'의 데이터가 아무것도 없는 것이 맞을까요? 그렇기 때문에 원본 데이터에는 정상적으로 들어있고,함수내에서 'dest'의 주소 시작점이 뒤로 밀려나 데이터가 없다고 판단해도 되는지 궁금합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-J 코드 질문입니다.
안녕하세요 강사님! 강의 너무 잘 듣고 있습니다!제가 짠 코드랑 강사님 코드랑 좀 다르지만 답은 맞다고 뜨는데, 이렇게 풀이해도 큰 문제 없는지 여쭤보고 싶어서 코드 올려봅니다.http://boj.kr/5a5e290d48434a57a34847c066b4de7b
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
답은 맞았는데, 이상한 부분이 있어서 질문드려요
http://boj.kr/a12c58c1df11493f8ba78847feffa3b9 선생님, 안녕하세요~완전탐색(재귀방식)으로 해서 어떻게 답을 맞췄습니다.처음에는 dp테이블에 동전이 n개일때 경우의 수를 저장해야겠다고 생각하고 코드를 짜보았지만, 뭔가 잘 되지않아dp[34][34] 이런식으로 남은 w가 n개, h가 m개일때 경우의 수를 저장하게 하는 방식으로 해서 통과하였습니다.그런데 이상한 점은, 한번 dp방식으로 해서 답을 맞췄으면, 그 다음 입력때도 이전에 저장된 dp테이블에 있는 값을 그대로 이용해서 답을 맞출 수 있을 줄 알았는데,이전에 저장된 dp테이블을 이용하면 다른 답이 나와서, 입력을 할 때마다 dp테이블을 초기화 해주는 방식을 사용하고 있습니다.음,, 어떤 부분때문에 이렇게 나오는 걸까요??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2- I segmentation fault
안녕하세요 선생님 해당 코드는 정답코드입니다. 그러나 제가 주석처리한부분으로 코드를 짰을때는 segmentation error가 나와서 그 이유를 여쭤보고 싶습니다.또한 선생님께서는 size()를 사용하셨고 저는 length()를 사용했는데 size()와 length()의 장단점도 알고싶습니다 http://boj.kr/df71a1d8b94a49cca8ed3d2cbb104d78감사합니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요! 버퍼 플러싱 관련하여 질문드립니다.
교안 32p에 cin을 사용해서 반복횟수를 입력 받고 getline을 사용시에 정수 입력 => 엔터 => 문자열 입력의 흐름이 되고 cin은 개행문자 전까지 입력을 받기 때문에 버퍼에 \n이 남아서 버퍼 플러싱이란걸 해야 함으로 이해했습니다. 그리고 버퍼플러싱이 임시저장소인 버퍼의 데이터를 프로그램에서 사용하기 위해 영구저장소로 가져가는 것임도 확인했습니다. 이 과정에서 2가지 여쭙고싶습니다. 위의 문제로 입력 버퍼에 개행 문자가 남아있다면 이후에 데이터를 입력할 때 남아있는 개행문자에 걸려서 오류가 날 것으로 생각합니다. 그래서 따로 남아있는 개행문자를 처리해야되는 것으로 이해했습니다. 제가 이해한게 맞는지 궁금합니다!32p의 버퍼 플러싱 코드에서string bufferflush; getline(cin, bufferflush);의 코드로 남아있는 개행문자를 버퍼 플러싱 해주는것으로 사료되는데, 위 코드가 어떤 원리로 남아있는 개행문자를 처리해주는지 이해가 가지않습니다.. ㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-D (백준2573 영역구하기) 백터사용시 메모리 초과
안녕하세요!(질문글 올리다가 제코드를 다시보니 왜 메모리초과가 나는지.. 알게돼서 글쓴게 아까워서 정보공유차 남깁니다)요즘 코딩테스트에 vector를 넘겨받는 케이스가 많아서연습삼아 함수인자로 vector를 넘겨주는 방식으로 문제를 풀고있습니다. 전역배열로 문제를 풀면, 메모리초과가 안나는데, vector를 넘기니 메모리초과가 발생하네요. ----------- 함수 선언은 아래와 같이 했습니다.-----void dfs(vector<vector<int>> map, vector<vector<int>>& visited, int x, int y, int num)----------------------------원인 ) 재귀호출하면서 매번 map이 복사가 되면서 메모리를 잡아먹는게 원인 이였습니다. & 참조 연산 붙여주니 바로 통과되네요. 다른 분들은 이런 실수 안하시길.. 수정) void dfs(const vector<vector<int>>& map, vector<vector<int>>& visited, int x, int y, int num)교안대로 전역변수쓰는게 확실히 실수를 줄여줘서 좋긴하지만 이것도 좋은 경험이라고 생각하고 넘어가게습니다.
-
해결됨MFC Windows 프로그래밍 - 기본
mfc 내부에서 콜백 함수 구현 방법
안녕하세요 현재 상황mfc를 이용해서 모든 창(window)의 이름을 전부 나열 해서 리스트 박스에 텍스트로 넣는 것을 구현 하려고 하는 중입니다.도중에 함수중EnumWindows(콜백함수, NULL)요 함수를 사용하려 했지만 콜백함수(인자)로 인해 사용이 안됩니다.win32를 통해 사용하여 위에 것은 다 구현했지만 mfc에서는 구현을 못한 상태 입니다. 이유는 위에와 같습니다....ㅠㅠ 구글 검색부터 이것저것 다해봤는데 도저히 방법이 안나와서 질문 합니다ㅜㅜ 궁금한점Enumwindows를 대체하는 함수가 존재합니까?mfc에서 콜백함수를 구현 하는 방법이 있습니까?Enumwindows를 구현할 방법이 있습니까?(콜백함수 빼고)
-
미해결[게임 프로그래머 도약반] DirectX11 입문
그림자 관련 질문입니다.
강의 잘 듣고 하나씩 적용 해 보고 있습니다. 그런데, 그림자에 궁금증이 생겨서 질문드립니다. 최종적으로 적용하고, 이런 느낌으로 되었는데, 그림자 적용 범위가 좁은 것 같아서, 바운딩 스피어의 Radius를 넓히는 식으로 해봤지만 범위는 넓어져도 그림자 농도가 너무 옅어지거나, 수치가 커지면 거의 안 보이는 수준이 되던데, 혹시 해결 방법이 있을까요? 텍스처 크기만 늘린다고 되는 문제는 아닌 거 같아서 질문 드립니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-L 주몽문제 시간초과 관련 질문입니다 ㅠ
https://www.acmicpc.net/source/share/bc46fa452bbf42209281c4b2e3220c39 이 코드가 솔루션에서는 잘 돌아가는 데,백준에서는 시간초과라고 뜹니다 뭐가 문제인지 알 수 있을까요??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
재귀 함수에 어떻게 접근해야 하는지 잘 모르겠습니다.
재귀함수를 사용해서 문제 풀이를 할 때 어떤 식으로 접근해야 할 지 팁을 주실 수 있나요?예를 들어, 종료조건을 반드시 설정해야 하고 이에 대해 먼저 생각하고 들어가는 건 알겠습니다. 그러나 어느 부분을 재귀시킬지에 대한 감이 아직 잘 없는 것 같아요.어느 부분을 재귀 시켜야 하는지랑, 그 외의 팁이 있으면 좀 받고싶습니다.외워서 푸는건 되는데 이해는 아직 안돼요
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3 - J 주난의 난 질문있습니다,,
http://boj.kr/2b8f07db284d4502b563683fdd715549 테스트 케이스하고 다른 질문 글 반례도 통과합니다.기본적으로 bfs에 0을 만나면 visited에 1을 증가 안해줬고 1을 만나면 증가해줬습니다. 영상 잘 보고 있습니다,, 근데 너무 어려워요 ㅠㅠㅎㅎ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
algorithm헤더의 sort
교안 p.88과 p.92에 각각 캡처한 사진입니다.두 설명 모두 sort (cmp없이) 를 설명하고 있습니다. first에서 동일한 값이 나오면 second를 기준으로 오름차순 정렬을 진행하는 것으로 알고 있고 실습도 해봤습니다. (아래 실습) #include <bits/stdc++.h> using namespace std; int main() { vector<pair<int, int>> v = { {5, 1}, {2, 2}, {5, 3}, {3,4}, {2, 5} }; sort(v.begin(), v.end()); for (auto it : v) cout << "(" << it.first << ", " << it.second << ")" << "\n"; return 0; } /* (2, 2) (2, 5) (3, 4) (5, 1) (5, 3) */ 따라서 (2,5) -> (2,2) 순으로는 나올 수 없을 것으로 판단했습니다.어느 부분이 잘못됐는지 알고싶습니다~!