묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-K dp 초기화 관련 질문드립니다
http://boj.kr/dcbf9db61feb45aab2fcb7f9d5e81b39저는 cnt를 0부터 시작해서 목표한 target 값 까지 도달한 경우로 코드를 작성하고 나머지 부분은 선생님께서 설명하신 논리와 똑같은 것 같은데 코드에서 주석부분에서 memset으로 초기화 시키고 for문의 memset을 주석 처리 하면 왜 동작을 안하는 지 모르겠습니다.4 4 42 21 13 33 4//0 2 4 2 0위의 경우를 집어 넣으면 전부 0 0 0 0 0이 나옵니다. 선생님께서 한경우와 제 경우가 무엇이 달라서 이렇게 나오는 지 잘 모르겠어서 질문을 남깁니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-N 질문있습니다.
안녕하세요 선생님! 예전에 강의 작심삼일로 공부했다가 다시 마음 먹고 처음부터 다시 풀어나가고 있습니다. 괄호라는 단어를 보고 "아! 이건 무조건 스택이다! 라고 생각하고 바로 스택을 사용해서 풀었습니다. 제출도 성공했고요. 근데 예전에 풀었던 코드 중에 ( 의 개수와 )의 개수를 비교해서 푼 적이 있더라고요. 제가 여기서 궁금한 거는 스택괄호문제가 엄청 많은데 다른 괄호 문제를 이런 식으로 풀어도 되는지, 이 방법은 사용하기 한정적이여서 비추한다...! 같은 이유도 궁금합니다.http://boj.kr/7d4dc4b04faa4343aa158b43f9d137e2
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
greater 정렬
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의에서 6:20초에 custom sort를 적용하지 않았을 때 greater 오름차순으로 정렬이 된다고 했는데 greater은 내림차순이 아닌가요?
-
미해결홍정모의 따라하며 배우는 C++
unsigned int in for loop
for (unsigned int i = 9; i >= 0; --i) {cout << i << endl;} 5.7 강의 마지막에 선생님께서 이렇게 하면 오버플로가 발생할 수 있다고 하시는데 이건 왜 발생하나요? 0에서 멈추기 때문에 오버플로가 발생 안 할 것이라고 생각 들어서요...ㅠ
-
미해결홍정모의 따라하며 배우는 C++
문자열 포인터, 인티저 포인터
인터저로 포인터 정의하면 예를 들어서int a[] = {1,2,3}하고a만 출력해보면 a가 사실상 포인터이기때문에 첫번째 항의 주소만 출력되는데문자열 포인터에서char b[] = "jack"에서똑같이 b만 출력하면 왜 j의 주소가 출력이 안되고 jack이 다 나오는 건가요 ?
-
미해결홍정모의 따라하며 배우는 C++
NULL, nullptr, \0 헷갈립니다!
마지막에 풀어보라고 하신 문제 푸는데while break조건으로*ptr == nullptr*ptr == \0*ptr == NULL이렇게 3가지에서 2.는 이해가 가는데요,a.1했을때 안되는 이유하고 b. ptr == nullptr 하면 뒤에 이상하게 나오는 이유하고 c. nullptr이 포인터상에서 아예 없는값을 의미하는지 궁금합니다.d. 또 3번에서는 NULL이 문자열에서 아예 없는값을 의미하는게 맞는지 궁금합니다.
-
미해결Do it! 알고리즘 코딩테스트 with C++
퀵정렬 질문
퀵정렬 14:38에 32랑 15를 swap 한다고 하셨는데 그 이유를 모르겠어요. 첫번째 정렬에서는 start와 end가 만난 15가 45와 비교해서 45가 더 크기 때문에 15의 오른쪽으로 이동한다는건 알겠는데, 두번째도 똑같이 적용하면 [5, 15, 32, 24, 42]가 아닌가요??
-
미해결홍정모의 따라하며 배우는 C++
string length
string a("Hello, World");cout << a.length() << endl;이렇게 하면 12가 나오는데여기서 12는 빈칸(Hello, 와 World 사이에 있는 것)이 포함된 건가요 아님 World뒤에 있는 nullptr이 포함되어서 12인가요?Hello,는 6글자 World는 5글자인데 12가 나온 게 헷갈려서요..
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-Q 맞...왜...틀....?
커뮤니티에 저와 비슷한 고민을 하신 분이 계셨습니다만 아직 답변이 안 달려 있어 질문 드립니다.https://www.acmicpc.net/source/share/d1985da707194375bba36ee00db6226e왜 틀린건지 잘 모르겠습니다. ㅠㅠ
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
disassembly 창
dissasembly 창을 띄우고 싶은데, 이처럼 설정을 해줘도 창이 띄워지지 않습니다. 이런 경우, 어떻게 해야 하는지 문의드립니다.
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
RemoveItem 함수에서 아이템 포인터를 nullptr로 바꾸기 전에 delete를 하지 않는 이유가 있나요?
강의에 나온 예제 에서는 Clear 함수로 모든 아이템을 delete하는데 이때 RemoveItem 함수에서 이미 nullptr로 지정된 아이템은 따로 delete 연산을 하지 않아서 Clear 이후에 배열의 포인터는 nullptr인데 힙 메모리에는 데이터가 남는 게 아닌가 싶어서 질문 드립니다.실제로 RemoveItem을 실행하는 아니템들을 따로 배열에 모아 Clear 함수 이후에 데이터를 확인해 보니 아이템들이 존제하는 것을 확인 했습니다.bool Inventory::RemoveItem(Item* _item){ if (_item == nullptr) return false; int slot = FindItemSlot(_item); if (slot < 0) return false; //delete mItem[slot]; // 제거되는 아이템 모음 mRemove[mRemoveIndex] = mItem[slot]; mRemoveIndex++; mItem[slot] = nullptr; mItemCount--; return true;}위에 mRemove에 아이템을 모아 Clear 이후에 중단점을 걸어 데이터를 확인해 보니 아이템의 데이터가 남아있는 것을 확인했습니다.혹시 의도적의로 delete연산을 하지 않은 것 인지 궁금하여 질문 드립니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-H 코드 질문
안녕하세요 선생님! 강의 항상 잘 듣고 있습니다.다름이 아니라 선생님 답안을 참고하여 코드를 작성하고 제출하였는데 4%에서 틀리게되어 고치고 다시 제출하였더니 맞았지만어느부분이 왜 틀렸는지 잘 모르겠습니다...제가 의심가는 부분은 최대 component 숫자를 업데이트하는 부분(ret2)인데 고치기 전 코드와 고치기 후 코드가 저에겐 같아보여서요.참고로 틀린 코드 내에 ret1과 id의 역할은 거의 같습니다. (맞은 코드에서 하나로 고침)한번 봐주시고 왜 틀렸는지 알려주시면 감사하겠습니다 (_ _)틀린 코드 - http://boj.kr/cb8d5a12b7d049788680dc1601edd57b맞은 코드 - http://boj.kr/d5a147432b404ec4b3a73ab3f2dbda25
-
미해결홍정모의 따라하며 배우는 C++
오류
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이 오류는 어떤건가요?
-
미해결홍정모의 따라하며 배우는 C++
실행 방법
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.CTRL + F5 (start without debugging)을 하게되면main_chapter11.cpp가 실행되는게 아니라 계속 source.cpp 파일이 실행됩니다.변경하려면 어떻게 해야할까요?clean solution을 하면 되는걸까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-H 4659 반례를 찾아주세요 ㅠㅠ
안녕하세요 예제는 잘 통과하는데 제출하면 틀렸다고 나오는데 반례를 못찾겠어요ㅠㅠ아래는 모음과 자음이 3번연속으로 반복되는지 확인하기 위한 코드인데 맞는지 의심이 됩니다!if (isVowel(s[i - 1]) == isVowel(s[i])){ cnt++; }else { cnt = 1; }http://boj.kr/5dd372c77cac4654bd661ebeb5d37f34
-
미해결코딩테스트 실전 모의고사(with C++) : 대기업 대비
[2-5] 최대선호음식 시간초과..
import sys N, D, K = map(int, input().split()) bits = [2 ** i for i in range(16)] st = [0 for i in range(N)] res = 0 def and_calc(a, b): if a & b == b: return 1 return 0 def DFS(L, S, bit): global res if L == K: temp = 0 for i in range(len(st)): temp += and_calc(bit, st[i]) res = max(temp, res) return for i in range(S, D + 1): DFS(L + 1, i + 1, bit + bits[i]) return for i in range(N): # N input_value = list(map(int, sys.stdin.readline().split())) for bit in range(len(input_value)): if bit == 0: continue st[i] += bits[input_value[bit] - 1] DFS(0, 0, 0) print(res) 영상과 유사하게 구현을 했는데도 시간 초과가 나서요..어디가 문제인지 잘 모르겠습니다..파이썬이라서 그런건지.. 😢
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-V 문제 질문
안녕하세요 큰돌쌤! 문제를 풀다가 막혀서 질문드립니다! http://boj.kr/54155bff977f43b3a75c1a59fc22430d 저는 ‘dp[현재위치][이동시간] = 모금액’ 이렇게 두고 활용했는데 1퍼 진행되고 틀렸습니다. 어떤 부분이 잘못되었는지 가르쳐주실수 있나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-L 주몽 문제 왜 틀렸는지 잘 모르겠어요 ㅠ
안녕하세요 선생님,아래와 같이http://boj.kr/fb635eced5da4486b8668d07bf1d4370a[m-i] = 0; <-- 효율성을 위해 이 코드를 넣었는데 틀렸다고 해요 그런데, 위의 코드를 넣지 않고 마지막 ret / 2 를 통해서 잡아주면 맞았다고 하네요..http://boj.kr/9a9b8fac99914ffdbfe06fcc4d5a8157그냥 넘어가도 될것 같긴 한데.. 너무 궁금하네요,,, 찾는데 오래걸리고 혹여 바쁘시다면 꼭 봐주시지 않으셔도 괜찮습니다!
-
미해결홍정모의 따라하며 배우는 C++
비쥬얼 스튜디오 같은계정 내용공유?
제가 노트북으로도 하고 데스크탑으로도 비쥬얼스튜디오 사용하는데요, 노트북에서 한걸 이어서 데스크탑에서도 하고 싶은데 내용 공유(?) 같은건 안되나요 ? 윈도우 계정은 같은걸 쓰고 있습니다
-
해결됨홍정모의 따라하며 배우는 C++
inline이 들어가면 실행이 안 되는데 이유가 뭔가요?
//Calc.h #pragma once #include <iostream> class Calc { private: int m_value; public: Calc(int init_value); Calc& add(int value); Calc& sub(int value); Calc& mult(int value); void print(); };//Calc.cpp #include "Calc.h" inline Calc::Calc(int init_value) : m_value(init_value) {} inline Calc& Calc::add(int value) { m_value += value; return *this; } inline Calc& Calc::sub(int value) { m_value -= value; return *this; } inline Calc& Calc::mult(int value) { m_value *= value; return *this; } inline void Calc::print() { std::cout << m_value << std::endl; } //main.cpp #include "Calc.h" int main() { Calc cal(10); cal.add(10).sub(1).mult(2).print(); Calc(10).add(10).sub(1).mult(2).print(); return 0; }이렇게 했는데요..Calc.cpp에서 inline들을 다 빼버리니까 실행은 되는데 빼야지만 실행이 된다고 설명은 안 하신 거 같은데빼야지만 실행이 되는 게 맞는 건가요 ? 그 이유가 무엇일까요 ? ..