본문 바로가기

분류 전체보기

(76)
[언리얼5/GitHub] 언리얼/깃허브 연동하기 - 팀장 편 언리얼 엔진에서 다른 사람과 협업하는 방법은 다양하다. Perforce, SVN, 그리고 모든 프로그래머들의 GitHub까지. 그러나 SVN 등의 방법은 회사 내 사용이 기본이라, 같은 곳에 있지 않다면 외부 서버를 이용해야 한다. 여건 상 불가능했기에 우리 팀은 GitHub를 통한 협업을 채택했다. 그리고 다양한 시도 끝에 언리얼과 깃허브를 연동하는데 성공했다. 이번 시간엔 언리얼과 깃허브를 연동시키는 방법, 팀장 편을 알아보겠다. 여기서 팀장은 리포지터리(Repository)를 생성하고, 관리하는 사람을 뜻한다. 설치해야 하는 프로그램 언리얼 엔진(ver. 5.2.1) (https://www.unrealengine.com/ko/download?sessionInvalidated=true) Git (ht..
[언리얼5] 유니티 개발자의 언리얼 도전기 어쩌다 이런 일이 대학교 학습동아리를 꾸려 게임 개발에 도전하게 되었다. 멤버는 물리학과 3명과 컴퓨터공학과 1명, 그리고 나. 프로그래밍 언어에 익숙하지 않은 인원이 있어, C#을 배우기보단 C++로 할 수 있는 언리얼을 사용하자고 결론이 났다. 그렇게 난 언리얼 개발에 도전하게 되었다. 짧게 해 보며 느낀 점 우선, 자료가 정말 적다. 유니티의 경우 블로그나 유튜브에 강의 형식으로 된 영상이 정말 많은데, 언리얼은... 공식 문서나 공식 유튜브, 혹은 해외 유튜브에 자료가 훨씬 많다. Brackeys님 덕에 영어로 된 영상을 보는 건 익숙하지만, 게임 개발에 첫 발을 디딘 팀원들에겐 쉬운 일이 아닐 것 같다. 그 외에도 이것저것 비슷한 듯 달라서, 적응하는데 시간이 걸릴 것 같다. 이 카테고리는 왜 ..
[백준/C++] 1016번. 제곱 ㄴㄴ 수 문제 1016번: 제곱 ㄴㄴ 수 어떤 정수 X가 1보다 큰 제곱수로 나누어 떨어지지 않을 때, 그 수를 제곱ㄴㄴ수라고 한다. 제곱수는 정수의 제곱이다. min과 max가 주어지면, min보다 크거나 같고, max보다 작거나 같은 제곱ㄴㄴ수 www.acmicpc.net 1. 첫 번째 풀이 사고 과정 - 가장 먼저 떠올린 방법은 범위 내의 수를 모든 제곱수를 나눠보는 것이다. min의 최댓값이 1,000,000,000,000(1조)이기 때문에, 가장 큰 제곱수는 1,000,000(백 만)의 제곱인 1조이다. 최악의 경우 1,000,001개의 수를 각각 1,000,000번씩 나눠봐야 한다. 시간복잡도로 따지면 O(n^2)겠지만, 최대 1조 번의 연산이 필요하므로 다른 방법을 찾기로 했다. - 그 다음으로 떠올..
[백준/C++] 1015번. 수열 정렬 문제 1015번: 수열 정렬 P[0], P[1], ...., P[N-1]은 0부터 N-1까지(포함)의 수를 한 번씩 포함하고 있는 수열이다. 수열 P를 길이가 N인 배열 A에 적용하면 길이가 N인 배열 B가 된다. 적용하는 방법은 B[P[i]] = A[i]이다. 배열 A가 주 www.acmicpc.net 1. 첫 번째 풀이 사고 과정 - 설명을 이래저래 돌려놨지만, 결국 가장 작은 수부터 0, 1, 2, ..., N-1을 대입한다는 소리 - 가장 간단한 방법은 min_element를 사용하는 것이다. 1. 배열 A, P를 생성한다. 2. 정수 i, c = 0을 선언한다. 2. 배열 A를 입력받는다. 3. A 내에서 min_element를 적용, 최솟값의 인덱스 i를 얻는다.. 4. P[i]에 c를 대입하..
[백준/C++] 1094번. 막대기 문제 1094번: 막대기 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대 www.acmicpc.net 1. 첫 번째 풀이 (마지막 풀이) 사고 과정 - 막대기의 크기는 2의 지수승만 가능하다. (64, 32, 16, 8, 4, 2, 1) - 몇 번 잘랐는 지가 아닌, 몇 개를 붙였는가를 묻는 문제. - 2진수로 표현 후 1의 개수를 세는 문제. 1. 입력 값을 2진수로 변환 2. 2진수의 1의 개수를 세서 반환 코드 #include int main() { int x, count = 0; scanf("%d", &x); for (int i = 0; i < ..
[백준/C++] 1051번. 숫자 정사각형 문제 1051번: 숫자 정사각형 N×M크기의 직사각형이 있다. 각 칸에는 한 자리 숫자가 적혀 있다. 이 직사각형에서 꼭짓점에 쓰여 있는 수가 모두 같은 가장 큰 정사각형을 찾는 프로그램을 작성하시오. 이때, 정사각형은 행 www.acmicpc.net 1. 첫 번째 풀이 (마지막 풀이) 사고 과정 - 일단 맨 왼쪽 위에서 시작, 정사각형을 찾는다. - 가장 큰 정사각형을 찾는 것이므로, M에서부터 1씩 줄여가며 숫자가 같은지 검사 - 맨 첫 줄에서 사각형이 안 만들어진다면, 다음 줄로 넘어가 반복 - N, M은 최대 50이니 오래 걸리지 않을 것 같다. - 크기가 가장 큰 사각형을 찾았을 때 종료해야 하므로, 예를 들어 5 5라면 크기가 25인 경우, 16인 경우, 9인 경우... 순으로 비교하는 게 맞..
[백준/C++] 1009번. 분산 처리 문제 1009번: 분산처리 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 정수 a와 b가 주어진다. (1 ≤ a < 100, 1 ≤ b < 1,000,000) www.acmicpc.net 1. 첫 번째 풀이 사고 과정 - 길게 늘여썼지만, 결국 a^b의 1의 자리 수를 구하는 문제. - 단, b가 최대 1,000,000인 만큼 연산자만 사용하면 계산할 수 없다. - 모듈러 연산을 안다면 순식간에 풀 수 있다. 어렵게 말할 것 없이 풀어쓰자면 아래와 같다. - 7을 10번 곱했을 때 1의 자리 수는 얼마인가? - 7, 9, 3, 1, 7, 9, 3, 1, 7, 9... 이처럼 1의 자리 수는 계속 반복되는 것을 알 수 있다. - 우선 간단하게 구현해보자..
[백준/C++] 1049번. 기타줄 문제 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주 www.acmicpc.net 1. 첫 번째 풀이 사고 과정 - 브랜드 개수는 눈속임. 결국 제일 싼 걸 살 것이다. - 입력되는 값들 중 가장 싼 패키지 / 가장 싼 낱개 가격만 따로 저장 - 낱개 x 6이 패키지보다 싸다면 오직 낱개로만, 아니라면 패키지로 구매한 후 - 남은 사야 할 줄이 6개 이하일 때 패키지와 낱개 x 6 가격을 비교, 저렴한 걸 선택한다. 1. 알고리즘을 정리하여 2. 숫자에 맞춰 작성 이후 작성할 글이 있다면 추가 작성 코드 #include int mai..