본문 바로가기

분류 전체보기

(47)
프로그래머스 - 자연수 inverse 배열 만들기 프로그래머스로 알고리즘 공부를 다시 시작해 보려고 합니다. 오늘은 스킬테스트를 했는데요 ! 너~무 오랫동안 알고리즘을 안풀다보니 쉬운 문제도 너무 어렵게 느껴져서 일단 레벨1에 대한 스킬테스트를 먼저 진행했습니다. 오늘 처음으로 푼 문제는 초심으로 돌아가서.... 너~무 기본적이면서도 중요한 자연수 받은 후 inverse 배열만들기입니다. 문제입니다. for문을 돌며 vector에 넣어주면 되는 아주 쉬운 문제입니다. 제가 푼 해답입니다. vector solution(long long n) // "12345" { vector answer; long long copy = n; int seed = 10; while (0 != (copy / seed)) { int left = copy % seed; answe..
편리하지만 주의해야 하는 연산자 오버로딩 operator 이번엔 연산자 오버로딩에 대해 포스팅을 해보려고 합니다. 연산자 오버로딩은 기존에 있던 연산자를 정의하는 것입니다. #include using namespace std; class OperatorTest { private: int _num; public: OperatorTest(int num1) : _num(num1) { } void printMember() { cout
std::map에 관한 고찰 오늘은 map에 관하여 포스팅을 해 보려고 합니다. std::map은 key와 value가 pair 형태로 저장되며, 주로 key를 사용하여 value를 빠르게 탐색하기 위해 자주 쓰이는 컨테이너입니다. map은 노드기반 균형이진트리 구조로 삽입시 자동으로 정렬이 됩니다. map 사용방법은 아래처럼 간단합니다. #include #include #include using namespace std; int main(void) { map _testMap; _testMap.insert(make_pair(1, "data1")); _testMap.insert(make_pair(2, "data2")); _testMap.insert(make_pair(3, "data3")); _testMap.insert(make_pai..
NSUrlSession (1) - IOS의 다운로더 만들기 오늘은 NSURLSession 에 대해 포스팅을 해 보겠습니다. 애플은 문서가 매우매우 불친절한 경향이 있는데요,, ㅠㅠ 최대한 알기쉽게 설명을 해 보려고 합니다. 제가 삽질하며 알게된 내용들도 함께 포스팅 하였으니 혹시 잘못된 정보가 있다면 꼭꼭 댓글 부탁드립니다!! 앱에서 서버로부터 파일을 받아 로컬에 저장할 때 보통은 HTTP요청으로 받아옵니다. 이러한 요청을 편리하게 해주는 기능인 NSURLSession은 Apple에서 제공됩니다. 참 좋은 기능이죠 :-0 위 그림은 NSURLSession을 설명하는 그림인데 저도 인터넷에서 퍼왔습니다..^^ 그림의 설명이 복잡하게 보이지만 간단히 설명하면 NSURLSession은 HTTP요청을 편리하게 해주는 객체이며 여러 종류의 Configuration중 한 ..
Simplygon SDK 7.1 Docs (2) 원문 https://simplygondocs.azureedge.net/docs/Simplygon7-1SDK.pdf Symmetry ( 대칭 ) : Simplygon은 Mesh가 대칭인지를 감지하고, 감소를 대칭면의 각 사이드에 반영한다. 일반적으로, 삼각쿼드메쉬에서 유용하게 작동합니다., 대칭특징은 나타나지만 삼각분할이 비대칭인 경우. Aggregation ( 집합 ) : 그 Aggregation 프로세서는 draw call을 줄입니다. 여러개의 오브젝트들과 재질들이 있는 씬을 취함으로써, 그리고 그것들을 하나의 오브젝트와 하나의 재질로 바꿈으로써. 이것은 기하학적인 변화를 나타내는것이 아니다. 그 원래의 UV은 유지되지만, 새 통합된 텍스쳐atlas를 가진다. 여기 몇 옵션이있다 UV를 만드는데 대해서..
Simplygon SDK 7.1 Docs 원문 https://simplygondocs.azureedge.net/docs/Simplygon7-1SDK.pdf 각 simplygon 프로세스는 입력 씬을 받아 특정타입의 LOD를 생성해낸다. 일부 프로세서는 처리 중 API를 통해 별도로 이용 가능한 도구를 사용한다. 예를 들어 감산 프로세서는 메쉬를 수리하기 위해 정점 용접기와 T-junction을 사용한다 프로세서들은 이미지 매핑을 만들수 있다. 기존 씬과 프로세싱된 씬 사이에서. 기존 재질과 다른 속성들을 새로 프로세싱된 씬과 맞춰주기 위해서. Reduction geometry를 줄일때, 많은 고려되어야만 하는 데이터가 있다. 분명한것은 그 메쉬의 순수한 기하학적 특성이다. UV좌표, 탄젠트, 버텍스 노말, 버텍스컬러, 스키닝같은 것들은 또한 g..
선언과 정의에 따른 메모리 1.Class의 정의와 메모리 클래스가 정의된 경우 : 프로세스가 아닌 컴파일러가 사용하는 메모리에 저장된다. class의 경우, 함수부는 Instance가 생성될 때마다 가지고 있게 된다면 굉장히 비효율적이다. 따라서 한 class의 Instance들은 코드영역에 올라간 함수를 공유한다. 대신, 코드영역에 올라갈 때 각각의 멤버변수에 접근할 수 있도록 해당 클래스의 포인터를 받도록 변경되어 올라가게 된다. ex ) 선언 : void classA::Func1 ( void ); 코드영역에 올라갈 때 : void classA::Func1 ( classA* ca ); 2. 논리 공간 수많은 cpp 파일은 컴파일러에 의해 cpp파일에 대응되는 obj파일을 만들게 된다. 실행파일 및 동적 라이브러리가 존재하는 가..
new 와 new []의 차이점 동적 할당인 new를 사용하면 delete를 사용하여 메모리 해제를 해 주어야하고, new[]를 사용하면 delete[]를 사용하여 메모리를 해 주어야 한다는 사실은 C++개발자라면 누구나 알고 있습니다. 하지만 new와 new[]가 내부적으로는 완전히 다른 방식으로 동작하게 됩니다. 1. new의 내부 동작 new를 사용하여 메모리 할당을 하게되면 내부적으로는 malloc을, delete를 사용하여 메모리를 해제하게 되면 내부적으로는 free를 호출하게 됩니다. int*p = new int; -> malloc(sizeof(int)) malloc은 Heap Manager에게 메모리 할당을 요청하고, Heap Manager는 관리하고 있는 힙에서 적절하게 4바이트만큼의 메모리 블록을 찾은 후, 해당 블록의..