여러 언어에 대해서 무의식중에 사용하는 친구였는데요즘에 유니티를 건들다 보니깐 싱글턴 패턴이라고 해서 중요하게 다루고4대 디자인 패턴 안에 들어가는 친구라고 해서정리할겸 써내려 가봅니다. 인스턴스가 여러 차례 생성을 해도 실제로 생성되는 객체는 하나이며, 최초 생성 이후에 생성되는 인스턴는 최초의 생성자가 생성한 객체를 리턴한다. 즉 첫번째 외에는 전부 첫번째 것을 리턴한다. static 을 사용한 예제들을 보시면 이해가 빠를것입니다.예시로는 아래와 같습니다.(unityEngine cs) static MusicPlayer instance = null; void Awake () { if (instance != null) { Destroy (gameObject); } else { instance = this..
삼항연산자에 대해 알아보자!먼저 영어가......ternary operator 이번 기회에 단어 하나 알아가네요 ㅎㅎternary가 셋으로 이루어진이라는 뜻으로 삼항 연산자 또는 조건 연산자 라고합니다. 서론은 여기까지 삼항연산자는 아래와 같이 이루어 져있습니다 (변수 혹은 입력) = (Bool형태의 연산)?(True일때):(False일때); 자세히 보면 액셀을 배우신분이라면 액셀의 if문과 굉장히 유사하다는 것을 알 수 있다.( if( a > b , A , B )) 자세한 예를 들어보자만약 Max 값을 구하여 넣는다고하면 if(a>=b){ max = a;}else{max = b;} 이런식으로 if문을 통하여 비교하여 나타내어 max값을 대입할 것이다허나 이 코드.... 너무 길다..... 따라서 삼항연..
합병정렬에 대해서 알아보자분할정복?!을 적용한 정렬이다.(분할정복 : 2개의 부분문제로 계속 나아가며 크기가 1/2씩 계속 감소하는 알고리즘) 그림으로 표현 하자(내림차순 정렬) 첫번째로 최소단위 까지 분할하여 내려간다. 두번째로 비교를 통하여 정렬한후 합병한다, 시간복잡도에 대하여 얘기해보자1. 분할하는 과정에서는 비교 형태가 아니며 중간(mid)값을 계산과 재귀호출 을 요구하므로 O(1)2. 합병하는 과정에서는 양쪽을 비교하는데 왼쪽의 크기를 m 오른쪽의 크기를 n 이라고 가정을하면 최대비교 횟수는 O(m+n-1)이된다. O(m+n-1) = > O(m+n) m 과 n은 입력값에 비례하므로 O(n)이 되게되는데 즉. 층당 O(n)이 적용되는데 이 층은 분할되어 1/2 가 작용되므로 log2n 이 되어진..