묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-K 접근 방식
안녕하세요,, 선생님문제 보자마자 bog2636에 있는 치즈 문제랑 똑같다고 생각해서, 같은 로직으로 풀고자 했습니다. dfs를 두개 만들어서 하나는 백조가 백조를 찾아가는 로직, 하나는 얼음을 녹이는 로직. 단순히 2개의 dfs를 만들어서 구현하고자 했습니다. 아직 미완성 코드이긴하지만, 이렇게 푸는 방식이 맞는지 궁금합니다 .. http://boj.kr/5323a9d789cc4883a53cdc463fedb890
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
push_back, 이동생성자 질문
class Person { public: Person(string name) { this->name = name; cout << "기본 생성자 " << name << endl; } Person(const Person& p) { this->name = p.name; cout << "복사 생성자 " << this->name << endl; } Person(Person&& p) noexcept { this->name = p.name; cout << "이동 생성자 " << p.name << endl; } ~Person() { cout << "소멸자 호출 " << this->name << endl; } public: void operator = (Person&& p) { cout << "이동 대입 " << p.name << endl; } void operator = (const Person& p) { cout << "복사 대입 " << p.name << endl; } public: string name; }; std::vector<Person> v; int main() { ios_base::sync_with_stdio(NULL); cin.tie(NULL); cout.tie(NULL); v.push_back(Person("Kim")); v.push_back(Person("Lee")); Person p1("NY"); v.push_back(p1); return 0; } 위처럼 실행시 Kim에 대한 임시객체 생성 -> vector에 넣을 데이터 이동 생성자로 생성 -> 임시객체 해제(소멸)순으로 진행될라 생각하여 디버깅 한 결과 제 생각과 맞은듯 하였습니다.위처럼 생성자들이 호출이 되었고 그다음에 "Lee"임시객체를 생성하고 push_back하는 경우 똑같은 과정대로 push_back될거같았는데 그러지가 않고위처럼 기본생성자 호출 (임시객체) -> 이동생성자 호출 (벡터에 넣을 데이터 noexcept최적화 ) -> 이동생성자 호출?...(여기서 임시객체에 대한 소멸자가 호출되어야 한다고 생각했습니다)여기서 부터 멘붕이 왔는데 제가 지금 std::vector의 push_back멤버 함수의 동작방식을 제대로 알지 못하는 것인지와왜 Lee에 대한 이동생성자가 호출되고나서 Kim이라는 변수를 가지는 이동생성자가 한번 더 호출되는지 모르겠습니다 그것도 Person("Lee")를 v에 push_back하는 상황에서요..
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요 2-E 푸는중 질문이있습니다.
http://boj.kr/066bf2d88dcc4b16be8da489d9449b1c정답은 맞추었는데조건체크부분에서 전부 1이거나 전부0인부분을 체크할때에 문자열의 크기가1일때 전부 합이 4거나 0이면 전부1이거나 0인조건으로 체크하여 결과를 리턴했는데 깔끔하지 못한것같아 혹시 조건문체크에서 전부1이거나 0을 체크할수있는 좋은 방법이있을까 싶어 질문을남겨봅니다 감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
질문
교안이 개정되어, 다시 읽어보고, 전에 중단했던 부분부터 다시 문제를 풀어보려 하는데, 한 가지 궁금점이 있습니다. 위에는 cin이 개행문자까지 입력받는다 하고, 아래는 개행문제 직전까지 입력을 받는다고 언급되어 있습니다. 서로 반대되는 말인 것 같아서, 질문 드립니다. 참고로 제가 이해한 방식은 cin은 개행문자까지 입력된다 생각하고, getline은 개행문자 직전까지 입력된다 생각했습니다. cin >> T;인 경우에는 geline(cin, bufferflush);가 필요가 없지만, geline으로 받는 경우에는 해당 코드(getline(cin, bufferflush);)가 필요하다. 헷갈리지 않기 위해 기본적으로 적는 게 좋다이렇게 이해한 게 맞을까요??
-
미해결홍정모의 따라하며 배우는 C++
auto operator<=>(const MyInt& rhs) const = default; 이 코드처럼 "=default" 가 몬가요? 어느강의 부분에 설명이 되어 있나요?
강의에 있었던거 같기도 하고 기억이 잘 안나는데,, 혹시 강의 어느 챕터를 봐야 하는지 아시는 분 계실까요?어디서 비슷한 문법을 본 것 같은데 기억이 잘 나질 않네여
-
해결됨[게임 프로그래머 도약반] DirectX11 입문
normal 을 월드계로 바꿀때 worldinvtranspose
대학교수업때나 물방울책에서 배울때 normal 은 worldinvtranspose 를 곱하라고 배웠는데어떤 셰이더 책이나 선생님께서는 world 를 곱하라고 하셔서요보통 SRT = (SRT)^-t 라서 상관없나요?어짜피 normalize될때 상쇄될까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-F 시간 초과 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/9be2e49bafe64797b19ed75db1b6ac7c 재귀로 이 문제를 구현해봤는데 시간 초과가 발생하였습니다. 어떤 부분에서 시간초과가 발생하였는지와 개선할 점에 대해 알려주셨으면 좋겠습니다. 또한 코드 자체는 맞은것 같은데 혹시 반례가 있다면 알려주시면 감사하겠습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
[초기화값] 1e9에 관한 질문입니다
안녕하세요 선생님, int 초기화값에 관해 궁금한 부분이 생겨 질문을 드립니다.int형 INF를 1e9로 초기화하는 기본적인 이유는 이해하였습니다. - INF끼리 더했을 때 범위가 넘어가는 것 등을 방지할 수 있다는 것과- 이상한 문제가 아니라면 1e9로 초기화해도 풀린다는 것그러나 만약 면접에서 1e9로 초기화한 이유를 질문받는다면 제대로 된 이유를 대답하지 못할 것 같습니다. 위의 두가지 대답은 풀이의 편의를 위해 1e9 이하의 답이 나올 것이라는 자체적인 판단 하에 마음대로 설정했다고 보일 듯 합니다. 문제에서 1e9를 넘어가는 답이 나오지 않을거라고 명시한 적이 없는데 왜 마음대로 1e9를 한계선으로 설정했냐는 질문을 받는다면 어떻게 대답하는 것이 맞을까요? 이런 질문은 들어오지 않는다고 봐야할까요?
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
gets 관련 질문드립니다
7번 문제 (영어단어복구)에서 gets를 사용하였는데gets를 사용하면 오류가 떠서 사용을 못하게 되어서 찾아보니gets가 위험하여 fgets나 gets_s를 사용하라고 하던데fgets를 사용하니 개행문자까지 들어가서 for(i=0; arr[i]!='\n'; i++) 이렇게 사용하여 풀었는데혹시 공백이 포함된 문자열을 입력받을때 다른 좋은 방법이 있을까 질문드립니다! 그리고 대문자를 소문자 변환하여 다른 새 배열에 넣고 한번에 출력하셨는데혹시 for문 안에서 해당될때마다 문자 하나씩 출력하는것과 성능 차이가 있을까요? 감사합니다
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
map을 공부하던중.. m.insert(pair<int, int>(i, i * 100));
안녕하세요. 오늘 map 을 공부하던중..pair<int,int>(i,i*100) -> 이 부분이 도대체 무슨 소리인지 모르겠더라구요.. 이름이 없어서 생성자도 아니고 operator도 아니고 1시간 구글링 결투끝에 임시객체라는 표현을 알게되었어요.Q1임시객체가 무엇을 반환하는지가 궁금합니다..!코드상으로는 key 랑 value를 반환하는 것 같긴한데..내부를 살펴볼려해도 외계어가 난무해서 물어봅니다 ㅠㅠ 제가 너무 깊게 알려는건지 아니면 기초지식이 부족한건지 잘모르겠네요 하하..
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
Dev c++ 디버깅이 안되는 현상
안녕하세요. 윈도우 환경에서 DEV C++을 사용하고 있습니다. 디버깅을 하고 싶은데 디버그 모드로 실행 하면 해당 메세지 창이 나오고 yes를 누르면 DEV C++ 프로그램이 종료되는 현상이 발생합니다.해당 현상 해결 방안을 알신다면 방법을 알려주세요.감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
[8 - P] 질문입니다
안녕하세요 선생님, 벨만 포드 사이클에 대해 이해가지 않는 부분이 있어 질문을 드립니다. https://www.acmicpc.net/source/share/34ff214ab6c944f59092bb5282b4c00e답지 31 ~ 46라인에 대해 이해가 잘 안되는 상태입니다.사이클이 발생할 수 있는 모든 here을 큐에 넣어둔 후there.first == e일 경우 돈을 무한대로 가질 수 있다고 처리하고 있는데 사이클 발생 끝 지점이 종료 노드인것이 어떻게 돈을 무한대로 가질 수 있다는 뜻이 되는지 모르겠습니다. 음의 사이클이 일어난 시작지점이 종료노드 바로 직전이었다고 한다면 종료노드에 가기 전까지 음의 사이클을 돌며 가진 돈을 줄였으면 줄였지 늘리진 못할 것 같고 음의 사이클을 타지 않더라도 벌 수 있는 돈은 마지막에 벌 수 있는 돈= (종료노드 직전까지 벌 수 있는 돈의 최대값) - (시작지점 ~ 종료지점 교통비) + (종료지점에서 번 돈)으로 한정될 것으로 보이는데 돈이 무한대가 될 수 있는 이유는 무엇인가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
Unable to start assembler. Check your settings.
3.12.1 버전으로 시작했는데도 설정오류가 뜹니다-g -f win64 $SOURCE$ -l $LSTOUTPUT$ -o $PROGRAM.OBJ$로 옵션 설정을 바꿨고 현재 윈도우 10 을 사용중인데 이유를 모르겠네요3.14.0버전도 마찬가지라 버전의 문제가 아닌 것 같습니다.
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
강의 자료 다운로드가 안됩니다
강의 구매하고 강의자료 다운로드를 받으려는데 먼저 크롬에서 파일 다운로드가 차단돼었고크롬 보안을 끄고 다운로드를 받으려니 바이러스가있어서 다운로드가안된다고 뜨는데왜그런걸까요 ㅠㅠ
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
list head와 tail
안녕하세요 stl list 구현부를 학습하던중에 head의 역할이 이해가 안되서 인터넷을 찾아봤는데요.head는 첫번째 노드를 가리키는 것tail이 마지막 노드를 가리키는 것 첫 초기화 상태는 head와 tail 서로 next prev를 이용해 가리키고값 삽입 부분에서 head의 next , tail의 prev를 새로운 노드를 가리키게 바꿔주면 되는 것인데.. 설명 내용에는 taill 부분이 빠져있어서 혼란이 왔어요.결론 : 그냥 둘다 통합으로 header로 표현하신건가요??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-G 어느 부분이 틀렸는지 모르겠습니다.
안녕하세요 강의 안보고 제 방식대로 일단 작성을 해보았는데 어느 부분이 틀렸는지 모르겠습니다. 예제는 맞는데 계속 오답이 나와서 여기에 질문 올립니다.http://boj.kr/93f413d4caad435dbb67578593137ac9
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-G 질문드립니다.
안녕하세요 강사님방법은 다릅니다만 빈도수와 입력 위치(순서)까지 고려해서 작성한 코드인데 왜 자꾸 틀리는지 모르겠어서 질문드립니다.http://boj.kr/c9afb96481d348eaaa0f32b0bb0e9977어디가 잘못된 것일까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
8-D 풀이 코드 질문 입니다.
강사님 안녕하세요~풀이해주신 코드에 대해 제가 이해한 것이 맞는지 해서 질문드립니다.풀이코드https://www.acmicpc.net/source/share/e2de316babff4d9b808e18926d718fc9에서 52,54 line 에서 find_index 함수로 부터 구해진 index 에 +1 을 더해주는 이유가,find_index 함수의 반환값이 0 인 경우 fenwick tree update/sum 의 idx 로 바로 사용할 수 없으므로, find_index 반환 값에 +1 을 한 것으로 이해하면 될까요? 위에서 제가 이해한 내용이 맞다면아래 제가 제출한 코드와 같이https://www.acmicpc.net/source/share/5b723f25c81b4f8581fa7fd6caf8f480sum, update 함수 내부에서 idx 를 1만큼 증가시키는 것도 동일한 것이겠죠?
-
미해결홍정모의 따라하며 배우는 C++
코드 조금 바꿔서 작성 중 에러
안녕하세요, 아래처럼 코드 짜니까 에러가 발생하는데 왜 그럴까요? 교수님 강의에서 관련된 내용을 들었던 것 같은데 못 찾겠네요;;class IntList { private: static int m = 10; int m_list[m] = { 1, 2, 3, 4, 5, }; ... >> error: non-const static data member must be initialized out of line static int m = 10;
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
큰돌님 안녕하세요
안녕하세요 큰돌님! 게임 회사에 게임 개발자로 입사하려는 취준생입니다!넥슨을 목표로 하고 있습니다만 모든 기업에 서류를 넣어볼 것 같습니다(3N, 크래프톤, 컴투스 등등 대기업 or 중견). 그래서 코딩테스트를 준비하는중에 큰돌님의 강의를 만나게 됐습니다 :)게임 회사의 코딩테스트 난이도가 궁금합니다! 가끔 코테에 SQL도 있던 걸 본 것 같은데 SQL 같은 것도 보는지 궁금하고요!