* 네이버 포스트에 썼던 글들을 마이그레이션했습니다. 언리얼 엔진의 새로운 머티리얼 레이어링 시스템 살펴보기 Alan Willard, Epic Games 출처 : http://www.inven.co.kr/webzine/news/?news=199813&iskin=mr 기존의 머테리얼을 구현하는 방식이 너무 복잡하여, 4.20부터는 머테리얼 레이어를 도입한다고 한다. 벡터-페인팅 툴을 통해 머테리얼을 수정하는 방법을 시연했는데, 확실히 직관적이고 편리해보였다. 다만, 테스트 버전이기때문에 실제 툴에는 어떻게 적용될지 확신할 수 없고, 현재로서는 4.20의 릴리즈 날자도 정해지지 않은 상황이라 지금 당장 활용할 수 있는 내용은 아니라는 점이 조금 아쉬웠다. 물리 기반 애니메이션 or 비물리 기반 애니메이션홍상..
테스트
https://www.acmicpc.net/problem/1966 ◆ 문제 풀이 우선순위에 따라 규칙이 있는 큐를 구현하여, 원하는 문서가 언제 pop되는지 출력하는 문제입니다.기본적으로 큐를 구현하되, 몇 가지를 추가로 고려하여야 합니다. ■ 찾는 문서를 기록할 별도의 배열 혹은 2차원 배열이 필요입력 1 1 9 1 1 1 예시를 보면 같은 숫자가 배열에 포함되어있으므로, 단순히 [1이 out되는 경우 출력하는것]으로는 문제를 해결할 수 없습니다.따라서, 원하는 문서를 표시할 별도의 배열이 필요합니다. ■ 기본적인 선형 탐색과 Que 알고리즘가장 앞의 값과 뒤의 값들을 비교해, 더 큰 수가 있다면 앞의 값을 뒤로 밀어넣은 후, 제거합니다.이 때, 위에서 언급한 추가 배열도 같은 과정을 진행해야 원하는 ..
1015 수열 정렬 https://www.acmicpc.net/problem/1015 ◆ 문제 풀이 입력받은 배열A에 규칙성 수열을 적용하여 배열B를 만들었을때, 이 배열이 비내림차순이 되는지 확인하여 해당 수열을 기록하는 문제입니다. ◆ 코드 #include using namespace std; int main(){ int num; int arr[51] = { 0, }; int chk[51] = { 0, }; cin >> num; for (int i = 0; i > arr[i]; for (int j = 0; j arr[i]){ chk[j]++; } else if (arr[j]
10815 숫자 카드 https://www.acmicpc.net/problem/10815 ◆ 문제 풀이 배열 두개를 입력받아, 뒤에 입력받은 배열의 숫자가 앞 배열에 포함되어있을 경우 1을, 아닐 경우 0을 출력하는 문제입니다. ■ 시간 초과가 핵심 간단한 방법 = 선형 탐색으로는 문제의 시간 제한을 통과할 수 없으므로, 시간을 단축할 방법을 찾아야 합니다. ■ 선형 탐색보다 이진 탐색이 빠름 가장 대표적인 해결책은 선형 탐색이 아닌 이진 탐색을 이용하여 탐색 시간을 단축하는 것입니다. ■ 이진 탐색을 위한 정렬 필요 이진 탐색을 위해서는 탐색 대상 배열이 정렬되어있어야 합니다. 이를 위해 STL의 Sort 함수를 이용합니다. ◆ 코드 #include #include #include #include us..
1051 숫자 정사각형 https://www.acmicpc.net/problem/1051 ◆ 문제 풀이 배열을 입력받아 그 안에서 꼭지점이 같은 수인 정사각형을 찾아내는 문제입니다. 해결을 위해 다음과 같은 방법을 이용해야 합니다. ■ 마주보는 꼭지점을 기준으로 우선 확인 후, 나머지를 비교 문제의 조건에 맞으려면, 결과적으로 네 꼭지점이 같은 수여야 합니다. 여기에서, 기준점은 마주보는 꼭지점으로 합니다. ■ 비교가 끝나는 지점을 찾아야 함 반복문을 이용할 경우, 얼마나 반복을 해야 하는가가 이 문제의 핵심입니다. 이를 판단하기 위한 방법은 여러가지가 있으나, 여기에서는 가장 간단하다고 판단되는 방법으로 진행하겠습니다. ■ 배열의 끝에 -1값을 넣어주고, 배열을 문자열 배열로 정의 -1은 NULL 같은..
9012 괄호 https://www.acmicpc.net/problem/9012 ◆ 문제 풀이 문자열을 입력받아 괄호의 쌍이 맞는지 확인하는 문제이다. 해결방법은 비교적 직관적으로 찾아낼 수 있다. ■ 문자열을 앞에서부터 검색할 때, )를 발견하면 (의 개수를 하나 줄인다. 한 쌍의 괄호를 찾아내는 가장 기본적인 방법이다. 여기에서 예외 처리가 필요하다. ■ )의 개수가 (의 개수보다 많으면 NO. 앞에서부터 검색해나가는 특성상 )의 개수가 (의 개수보다 많아지는 시점에서 이 문자열은 NO로 판단한다. ■ 문자열 검색을 끝낸 후, (의 개수가 0이 아니면 NO. 문자열을 모두 검색한 후에도 (가 )에 상쇄되지 않았다면, 짝이 맞지 않는다는 의미이므로 NO로 판단한다. ◆ 코드 using namespace..
6064 카잉 달력 https://www.acmicpc.net/problem/6064 ◆ 문제 풀이 M N X Y가 주어질때, M N 으로 만들어지는 규칙성 배열에서 X Y가 있는지, 있다면 몇 번째인지 찾아내는 문제이다. 이해를 위해 예시를 들어보면, M,N이 각각 3,4일때 와 같은 배열이 나온다. 이 배열의 특징은, 앞자리와 뒷자리가 각각 M까지, N까지 반복된다는 것이다. 여기서 아래와 같은 특징을 찾을 수 있다.. ■ 이 배열의 마지막 숫자 M N은, 최소공배수 번째의 배열이다. = M N으로 조합되는 배열의 총 개수는 M N의 최소공배수이다. 왜냐 하면, 앞자리와 뒷자리가 각각 M개, N개씩 반복되므로, 정확히 M N이 같은 자리에 오려면 두 개수가 같은 위치에 맞춰지는, 다시말해 최소공배수만..