int **mat = new int *[row]; for (int r = 0; r < row; ++r) { mat[r] = new int[col]; } 이 부분이 이해하기 진짜 어려웠습니다.. 1번 봤을떈 이해가 안갔습니다 그래서 동적할당을 이해못해서 그런가해서 다시보고 생각하면서 코드 하나하나 다시 뜯어서 보고 다시 영상 보면서 코드를 보니까 아래처럼 이해를 했는데 이게 맞는걸까요? const int row = 3; const int col = 5; const int arr[row][col] = { {1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15} }; //출력하기 위해선 초기화를 해줘야됨 int **mat = new int *[row]; // int *[3]크기의 메모리 할당 / 초기화 //const int arr[row][col] ={1~15} 초기화 해주기 for (int r = 0; r < row; ++r) // 3반복 { mat[r] = new int[col]; //int *r1 = new int{1,2,3,4,5};처럼 초기화를 해야하는데 //하나하나 다 해줄 수 없으니 int *[5] 크기의 메모리 즉 [col]5개를 3번 반복해서 [r]에 1~15를 저장해줌 } for (int r = 0; r < row; ++r) // row 열 만들기 3 { for (int c = 0; c < col; ++c) // col 열 만들기 5 { mat[r][c] = arr[r][c]; //mat[0~2][0~4] } } //출력용 for (int r = 0; r < row; ++r) { for (int c = 0; c < col; ++c) { cout << mat[r][c] << " "; } cout << endl; } //delete for (int r = 0; r < row; ++r) { delete[] mat[r]; }
안녕하세요. 강의 보면서 재밌게 공부중에 있습니다. 다름아니라 pointBtn구현부에서 선생님이 올려주신 코드와 제가짠 코드에 대해서 뭐가 다른지 조금 궁금합니다. 저렇게 짜도 정상작동 하더라고요. 1. 반복문이 계속 돌고 있는건가요? 해당 인덱스번째가 click되는지 알기 위해서는 반복문이 계속 돌고 있어야 할거 같은데, 로그 찍어보면 첫 실행시 total개수만큼만 돌고 이후에는 안도는데, 그래서 예상으로는 클릭 Eventlistner가 전체개수만큼 생성되는걸까 추측해봤는데 맞는건가요? 2. 선생님이 올려주신 코드에서는 for문 안에 idx로 인자를 받는데, 이때 idx는 어떤 값을 가지고 있는건가요? 3. for문안 function(idx) { .... }(i) 이렇게 되는데 function자체가 언제 실행되는건가요? 함수가 리턴되지 않는데 (func)(i)이렇게 사용하는게 가능한가요? js문법자체가 아직까지 헷갈려서 이해가 명확히 되지 않아서 질문드렸습니다! 감사합니다.
AppConfig를 보면 MemberService와 OrderService에서 각각 new를 통해 레포지토리를 주입하는데요! 이때, new를 통해서 서로 다른 객체를 만들고 주입하면, MemberService와 OrderService에서 사용하는 레포지토리가 서로 다른거 아닌가요??
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 가상환경을 만드는 것 까지는 문제가 없습니다. 다만 vs code 와 atom 둘다 가상환경에서 실행하려고하면 오류가 납니다. 파이썬은 3.9.1 사용하고있는데 계속해서 ctrl + f5 할때 결과값이 나오지 않고 계속해서 대기중이고 atom 에서 실행시에도 마찬가지로 오류가 나옵니다. 어떻게 해결해야 하나요 선생님? 답변감사합니다.
선생님 제가 깃허브의 레포지토리 안의 구조가 변경되는 상황이 생겼습니다.. (패키지를 추가해서 파일을 정리하는 상황) 이상황에서 혹시 제가 커밋을하게되면 기존에 파일 하나하나 이슈를 적어두었떤 커밋메시지는 패키지를 커밋하는 시점에서 하위의 파일들 까지 전부다 커밋메시지가 적용되버리는 상황인데.. 이럴땐 보통 어떻게 하나요? 그냥 덮어씌우는게 정석인가요..ㅠㅠ?
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
계정 서버와 게임 서버 PC를 포트포워딩해서 고정 아이피를 할당했는데 계정 생성, 로그인 버튼을 누르면 유니티 콘솔창에 curl error 60 에러 메시지와 SSL CA 인증서 로그 메세지가 나옵니다. 검색해보니 PHP 관련 내용만 나오던데 따라해봐도 바뀌는게 없더라구요. 혹시 이 부분 해결법이나 강의 파트가 있을까요?
스핀락인 쓰레드의 경우는 쓰레드 양보가 이뤄지지 않기 때문에 컨텍스트 스위칭이 전혀 일어나지 않나요? 예를들어, 코어가 8개인 CPU 상에서 8개의 쓰레드를 가지는 프로세스가 있다면 1개의 쓰레드가 Lock을 가지고 7개의 쓰레드가 SpinLock을 이용하고 있는 상황일 때, 1개의 쓰레드가 Unlock이 될 때까지 7개의 쓰레드는 양보하지 않고 CPU를 계속 점유하고 있는 상황인가요? 아니면 CPU 스케쥴링에 의해 스핀락으로 대기타고 있는 7개의 쓰레드도 중간중간에 양보를 하게되어있나요?
안녀하세요 좋은 강의로 알고리즘 연습에 많은 도움이 되고 있습니다. 해당 강의에서 궁금한 점이 하나 생겼는데요, 먼저 재귀를 사용하지 않고 코드를 작성해봤습니다. function solution(m, arr) { arr.sort((a, b) => b - a); let temp = m; let i = 0; let k = 0; let s; while (temp) { k += parseInt(temp / arr[i]); s = temp % arr[i]; temp = s; i++; } return k; } 재귀를 사용했을때와 걸리는 시간을 비교해보니 훨씬 덜 걸리는것을 알 수 있었습니다. 예를들어 m = 50일때를 비교해보면 위와같이 풀면 0.5 ~ 0.6 ms 재귀를 이용하면 3 ~4 ms 위 문제 같은 경우는 재귀를 사용해서 풀었을때 어떤장점이 있는지 궁금합니다. 아니면 재귀를 사용하는 챕터라 연습을 위한 것일까요???
clang: error: no such file or directory: 'CXX=c++' make[1]: *** [/Users/yijungshik/.nvm/.cache/src/node-v10.15.1/files/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/bio_ssl.o] Error 1 make[1]: *** Waiting for unfinished jobs.... rm 6d716e15b52d9be158bdf428df46b5305ec6e194.intermediate make: *** [node] Error 2 nvm: install v10.15.1 failed! yijungshik@ijeongsig-ui-MacBookPro ~ % node -v zsh: command not found: node yijungshik@ijeongsig-ui-MacBookPro ~ % arch -x86_64 zsh yijungshik@ijeongsig-ui-MacBookPro ~ % nvm install 10.15.1 zsh: command not found: nvm yijungshik@ijeongsig-ui-MacBookPro ~ % nvm install 10.15.1 zsh: command not found: nvm yijungshik@ijeongsig-ui-MacBookPro ~ % nvm install 10.15.1 zsh: command not found: nvm 위와같이 에러나 나오고나서 다른 글을 보니 현재 M1에서는 arch -x86_64 zsh 를 입력한후에 다시 인스톨을 하면 된다고하는데 인스톨 명령어를 넣고 나면 zsh: command not found: nvm 과 같은 메시지가 나옵니다. M1에서는 어떻게 설치를 해야 할까요?