[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
방향 enum Dir { DIR_UP = 0, DIR_LEFT = 1, DIR_DOWN = 2, DIR_RIGHT = 3, DIR_COUNT = 4, }; 위쪽부터 시작해서 오른쪽으로 가고 싶을때 초기 방향이 UP이라고 하면 dir = (dir -1 ) % DIR_COUNT ; 방향값이 -1 나와서 음수일 경우 양수로 만들어 예외처리해서 사용하면 되는건가여 ?
안녕하세요 선생님. 항상 강의 잘 듣고 있습니다. 제가 작성한 코드가 37%에서 막히는데 왜 틀린 건지 잘 모르겠습니다. 고민하다가 해설 강의를 봤고 해설 강의 코드가 효율적이고 정확하다는 것을 이해했습니다. 다만, 제 코드가 비효율적이긴 해도 왜 틀렸는지 알고 싶습니다. https://www.acmicpc.net/source/66267875 감사합니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/67fc25f9921f4194b579af1bdfb7a353 안녕하세요 선생님, 왜 정답코드와 다르게 if의 순서를 바꾸면 틀렸다고 나오는지 궁금해서 여쭤봅니다. 감사합니다.
안녕하세요 선생님. 풀이를 보지 않고 단순히 브루트포스로 전체를 돌려서 구현해보았습니다. 저는 일단 조합으로 3개를 뽑는 3중 for문을 돌려서 꽃을 심을 수 있는 3 지점의 좌표를 구하고, 그 후 해당 좌표들을 상하좌우로 퍼트려 서로 겹치는지와 화단 범위를 벗어나는지를 체크하여 문제없이 3개가 심어진다면 해당 부분들의 가격을 더해서 값을 구하는 식으로 로직을 짰습니다. 하지만 예제는 맞는데 제출하면 2%에서 틀린다고 나옵니다. 틀리는 부분을 찾지 못하여 질문드립니다. http://boj.kr/cc392b4733d94aa9a3f67b831d041932
https://postfiles.pstatic.net/MjAyMTA1MTNfNzIg/MDAxNjIwODgyMDkwMTI3._oXnW6b77oEMkcdomjgB8NMLStKeMWOmLgQl1rrNGHQg.ZGawtod2AJSOLywq734qeiWpcteLFDIEhcJ438xtc44g.JPEG.jhc9639/%EC%8A%AC%EB%9D%BC%EC%9D%B4%EB%93%9C132.JPG?type=w966 영화수집 # 문제해석이 이해가 가지 않습니다. 왼쪽에 3 Block이 하나 있고 2 Block이 3 두개 쌓아져 있습니다. 좌우 빨간 화살표가 의미하는 것과 오른쪽에 그림을 조금 더 상세히 설명해주실 수 있을까요..? 트리라는 것은 알겠는데, 작동하는게 이해가되지 않네요. 추가로 좌표 이동의 의미도 한번 더 설명부탁드리겠습니다. 감사합니다.
https://blog.naver.com/jhc9639 2~8 까지의 최소 인덱스를 계산 하는 예제가 이해되지 않습니다. 여기서 두번째부터 여덟번째까지 인덱스 중에 최소 값을 가지는 인덱스를 찾는 문제인건가요? 그렇다면 여덟번째 인덱스가 없어서 의하하구요. 두 번째로, 세번째, 4번째, 6번째 인덱스만 비교한다는 것이 이해되지 않습니다. 부연: 아래 설명에 0~3까지의 요소값에서 level2에서 한번에 찾을 수 있다는 것은 이해가 됩니다. 왜냐면 level2 트리값이 이미 최소 인덱스를 들고 있기 때문입니다.
안녕하세요 큰돌님 곧 있으면 공채 코테 기간이라 많은 준비를 하고 있습니다! 다름이 아니라 다익스트라 알고리즘이라는 것이 가끔 코테에 나온다고 들었습니다. 제가 지금 시간이 없어서 코테 시험 기간까지는 모든 문제를 풀진 못 할 거 같습니다.. 우선적인 것들 다시 풀어보고가야할 것 같은데 혹시 다익스트라 알고리즘이 배우고 가야 할만큼 자주 나오는 유형인가요??
유니티에서 회전행렬을 확인 해보고자 출력을 했을 때. 이렇게 출력을 하였습니다. Transform을 해당 값으로 맞춰놓고 작업을 하였는데 Log 값은 이렇게 출력되었습니다. 여기서 의문점인경우가 Z축 회전 행렬을 적용하면 C -S 0 0 S C 0 0 0 0 0 1 0 0 0 1 이 적용이 되어야 하는데 Log 값으로 출력되는것을 보면 Sin값 적용부분에서 C -S S C 가 아닌 C S -S C 로 적용되는걸 알 수 있는데 왜 이렇게 값이 나오는 것인지 궁금합니다. (부호가 왜 바뀌어서 나오는지 궁급합니다.) X축 , Y축 , Z축 동일하게 출력을 해 보았으나 모두 다 같습니다...
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/d466b4cc3d3048f990700e44cfc1de54 처음엔 위 링크와 같이 map으로 풀었는데 계속 시간 초과가 나더라구요... 예시 코드와 어느 부분에서 시간 차이가 나는 걸까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 큰돌 강사님, 아무리 생각해도 이 코드가 틀린 이유를 모르겠어서 질문하게 되었습니다. http://boj.kr/cfc58ee8fdc94e93a5b6ce83a2221a2b split함수로 "pi","ka","chu" 모두 없애고, str.length 비교로 정답 유무 확인할 수 있는거 아닌가요? 예시 코드는 전부 다 맞는데, 히든 케이스가 문제같아요. 어떤 예외처리를 못한걸까요??
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 큰돌 강사님, 출력하는 부분에서 런타임 에러가 뜨는 것 같은데 이유를 모르겠습니다. 확인 부탁드려요! http://boj.kr/d51f467f78ca414180b8b5f326707d20 cout << "["; for (int i = 0; i < D.size() - 1; i++) { cout << D[i] << ","; } cout << D[D.size() - 1] << "]\n"; 이 부분을 큰돌님이 올려준 코드로 바꾸면 작동 잘 되더라고요... vscode로 돌려보면 정답은 잘 나옵니다
안녕하세요 교수님. 교수님께서 강의 초반에 설명하실 때 cout << "Hello, World" << endl; 으로 쓰게 되면 내부적으로 "Hello, World"를 배열로 인식한다고 설명하셨고 'd' 뒤에 "끝이다"라는 문자가 생략되어서 배열이 13자리를 나타낸다고 하셨습니다. 21:30에서 "Hello, World" 를 string으로 입력받고 length함수를 이용해서 길이를 출력할 때는 12자리가 나왔는데 어떤 차이점이 있는 건가요?
안녕하세요 큰돌님! 코드를 다음과 같이 짜봤습니다(짧으니 글에 올리겠습니다!) #include<bits/stdc++.h> using namespace std; int n, ret = -987654321; int a[100004]; int psum[200004]; void make(int interval) { for (int i = 0; i + interval <= n; i++)ret = max(ret, psum[i + interval] - psum[i]); } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; psum[i] = psum[i - 1] + a[i]; } for (int i = 1; i <= n; i++)make(i); cout << ret << '\n'; } 누적합을 이용해 인터벌 만큼 계산 해주면 시간 복잡도가 줄겠구나 싶었는데 그래도 이중 for문이라 시간 초과가 나더라구요 실전에서 내가 큰돌님 같은 아이디어를 내는 사고를 할 수 있을까? 싶어 다른 풀이를 알아보니 DP 풀이가 있다고 하더라구요! 이미 쓰였던 값을 따로 저장해놓고 해당 값이 나오면 캐싱(cashing) 느낌으로 쓰이는 방법이라고 하더라구요! 혹시 해당 문제가 7주차 dp에도 있나 봤는데 따로 없는 것 같아서 큰돌님이시라면 DP로 어떻게 접근하실지 궁금해서 질문 남깁니다!
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
안녕하세요, 클라 개발자 취준생입니다. 최근에 유니티로 클라이언트 포트폴리오 개발을 하고 있는데 다른 이력서랑 경쟁력이 떨어지는것같아서 클라는 Unity,C# , 서버는 IOCP,C++로 개발을 진행해서 클라+서버 연동 포트폴리오를 만들고싶은데요 루키스 선생님 강의중에 어떤 강의들을 구매해서 들어야하는지 조언 부탁드립니다. 중복된 강의 갯수가 많아서 어떤 강의를 선택해서 들어야 하는지 궁금합니다. C, C++, C#, DirectX은 선수지식이 있습니다.
마지막 7:29 정도를 보시면, 12번째 라인에 ret.push_back(token) 으로 되어있는데 token이 아닌 input을 넣어야 할 것 같습니다. (교안에는 문제 없이 나와있습니다.) 콘솔 결과에 마지막 천재입니다가 두번 출력되길래 왜인가 싶었는데 이런 오타가 있었네요 ㅎㅎ,
http://boj.kr/a903e6ca7fd743ef98efaf41143311cb 안녕하세요 선생님!! 안전 영역 문제의 반례에 대한 처리를 제외하곤 전부 다 맞다고 생각하고 반례에 대한 코드를 처리하여 제출을 하였는데도 틀리다고 나옵니다ㅠㅠ 예제 모두 체크해본 결과 답도 동일하게 나옵니다. 어떤 오류가 있는지 궁금합니다ㅠ
안녕하세요. 3~5번 틀렸다고 하여 3~5번 값을 input.txt에 복사하여 컴파일 했을 때는 값이 같아서 문의드립니다. 디버그하여 하나씩 봐도 아직 부족하여 답을 못찾았습니다.. 놓친 부분이 어디인지 확인 가능할까요?? #include <iostream> #include <vector> #include <algorithm> #include <math.h> using namespace std; int main() { freopen("input.txt", "rt", stdin); int cnt = 0, o_cnt = 0, j = 1; int last; vector<int> a; vector<char> b; int n, m; cin >> n; for (int i = 0; i < n; i++) { cin >> m; a.push_back(m); b.push_back('P'); cnt++; while (1) { if (j == a.back()) { a.pop_back(); b.push_back('O'); j++, o_cnt++; } else break; } } if (o_cnt != cnt) { cout << "impossible"; return 0; } for (int i = 0; i <= b.size(); i++) { cout << b[i]; } return 0; }