묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
locale error 해결 방법
안녕하세요. 저는 VScode를 이용해서 해당 강의를 수강중인 학생입니다.VScode window 환경을 사용 중이고 아래와 같은 에러를 확인하게 되서 해결 방법이 궁금합니다. 구글링을 통해서 해결하려 했고 제어판에서 유니코드 제외 언어 설정이 한국어로 되어 있는 것도 확인하였습니다.#include <locale>도 해봤으나 에러는 여전했습니다.해결 할 수 있는 방법을 알고 싶습니다. 해당 에러는 wcout.imbue(locale("kor"));에서 발생하는 것으로 확인하였습니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
복습에 대해 질문 있습니다.
안녕하세요. 강의 정말 재밌게 잘 듣고 있습니다.강의를 듣고 복습하려고 하는 중에 복습은 어떻게 해야 하는지 감이 안 와서 여쭤봅니다.
-
미해결홍정모의 따라하며 배우는 C++
<6.19 다중포인터와 동적 다차원 배열> 이중 포인터임에도 불구하고 포인터의 주소값을 보유하고 있지 않음
int** matrix = new int* [row] 은 결국에는 row개의 포인터변수를 저장할 수 있는 공간을 만들어주고, 그 중 첫번째 요소의 주소값을 matrix가 가지게 된다는 것으로 이해했습니다. 하지만 아직도 정확히 이해가 안가는 부분이 있어 어리석은 질문드립니다.가정 1:제가 이해하기로는 이중 포인터 역시 포인터이기 때문에 다른 포인터의 주소값 을 가지는 변수입니다. 그러면 int** matrix = new int* [row] 같은 경우에도 row개의 포인터변수의 주소값 을 담아야하지 않습니까?하지만 matrix[0] 을 출력하였을때 (*matrix) 저는 그 포인터 변수의 주소값이 아닌 그 포인터 변수가 담고 있는 주소값이 출력됨을 확인할 수 있었습니다. int** matrix = new int* [row] 이 경우의 이중포인터는 " 이중 포인터는 다른 포인터의 주소값을 가르킨다" 라는 어떻게 보면 정석적인 정의와 다르게 사용된다고 보는게 맞습니까? (포인터 변수들을 보유하는 배열) 이중 포인터가 사용됬음에도 불구하고 matrix가 가지고 있는 값이 첫번째 요소(포인터)의 주소값이 그 포인터 자체가 들어갔기 때문인가요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-L 안녕 질문이 있습니다.
http://boj.kr/2451435928954fd4ade7f532de725ef2재귀를 돌면서 hp가 0이하가 되면 0을 반환하고 사람의 명수 만큼 재귀를 돌며 hp가 남아있으면 hppy(행복)을 반환해줘서 최대값을 반환하는 dp를 작성했는데 문제에 나와있는 테스트 케이스와 질문게시판에 있는 테케를 전부 돌려봤는데도 무엇이 잘못되었는지 모르겠습니다.
-
해결됨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) 영상과 유사하게 구현을 했는데도 시간 초과가 나서요..어디가 문제인지 잘 모르겠습니다..파이썬이라서 그런건지.. 😢