728x90

분류 전체보기 336

[C#] lambda식이란 ? 언제 사용할까 ?

lambda 식 ? 함수에 인자값으로 함수를 넣기 위해, + 더 간단하게 구현하기 위해 만든 문법. lambad 식은 선언한 자리에서'만' 사용하기 때문에 접근지정자, 반환값, 이름이 필요없다. 재사용하지 않을 함수를 따로 구현하지 않고 바로 호출해서 한번만 사용할 때 편리하다. 위 개념을 바탕으로 아래 함수를 lambda 식으로 바꿔보자. public void LambdaTest(){ Debug.Log("LambdaTest"); } () => { Debug.Log("LambdaTest"); } 인자와 반환값이 있는 함수는 어떻게 바꿀까 public int Add(int a, int b){ return a + b; } (int a, int b) => { return a + b; } 사용예시를 살펴보자. ..

🎮 Unity Study/C# 2023.08.17

[C#] 동기/비동기 (feat. Coroutine, Task, async/await)

*동기: 일을 주고 그 일이 끝날때까지 아무것도 안하고 기다리는 것. ex) 매표소 줄 *비동기: 일을 준 후 기다리지 않고 내 일을 하는 것. ex) 커피숍 진동벨 #동기식 프로그래밍의 예시 using System; public class TestClass { static void Main(string[] args) { PrintNumber(); PrintStart(); Console.ReadKey(); } private static void PrintNumber() { for(int i = 0; i < 10; i++) { Console.WriteLine(i); } } private static void PrintStart() { for (int i = 0; i < 10; i++) { Console.W..

🎮 Unity Study/C# 2023.08.16

[C#] Action 과 Func (feat. Delegate, callback)

Delegate: 변수처럼 사용할 수 있는 함수 Action : 반환값이 없는 델리게이트 Func: 반환값이 있는 델리게이트 callback: 작업이 끝났음을 알려주는 용도 * Delegate 기본형태는 아래와 같다. public class TestClass { delegate void MyDelegate(); public TestClass() { MyDelegate myDelegate = FuncTest; myDelegate(); } public void FuncTest() { } } Delegate를 함수의 리턴타입, 인자값에 맞게 선언한다. 사용전에 선언하고 호출한다. 활용1) 어떤 범주 안에 있는 여러 함수가 수행되어야 할 때 public class TestClass { delegate void ..

🎮 Unity Study/C# 2023.08.16

[10주 완성 C++ 코딩테스트] 누적합, Prefix Sum

* 누적합: 어떤 배열의 앞 요소부터 누적된 합을 저장한 배열. 앞에서부터 더하는 prefix sum과 뒤에서 부터 더하는 suffix sum 이 있다. 배열의 값이 변하지 않는 정적 변수에만 사용할 수 있다. * 누적합이 필요한 예시문제 문제 승철이는 뇌를 잃어버렸다. 학교에 갔더니 선생님이 자연수로 이루어진 N개의 카드를 주며 M개의 질문을 던진다. 그 질문은 나열한 카드 중 A번째부터 B번째까지의 합을 구하는 것이다. 뇌를 잃어버렸기 때문에 승철이는 이 문제를 풀 수가 없다. 문제를 풀 수 있는 프로그램을 작성해보자. 입력 수의 개수N, 합을 구해야 하는 횟수 M, 그 이후 N개의 수가 주어진다. 수는 100이하의 자연수. 그 이후 M개의 줄에는 합을 구해야 하는 구간 A, B가 주어진다. 출력 M..

Unity HTTP 통신(UnityWebRequest, Get/Post, IMultipartFormSection)

* HTTP: 웹상에서 클라이언트와 서버 간에 request/response 로 데이터를 주고 받을 수 있는 프로토콜. HTTP 메소드 중 많이 쓰는 2가지. GET, POST. 1) GET: 서버로부터 정보를 조회하기 위해 설계된 메소드. 데이터를 요청할 때 필요한 데이터를 Body 에 담지 않고 쿼리 스트링을 통해 전송한다. URL의 끝에 ?와 함께 이름과 값으로 쌍을 이루는 요청 파라미터를 쿼리스트링이라고 부른다. 요청 파라미터가 여러개 이면 &로 연결해서 전송한다. ex) 쿼리 스트링을 포함한 URL 샘플 www.example-url.com/resources?name1=value1&name2=value2 2) POST: 리소스를 생성/변경하기 위해 설계된 메소드. 전송해야할 데이터를 HTTP 메세..

[10주 완성 C++ 코딩테스트] 문자열 필수개념 - split(), substr(), erase()

* split(): 특정 문자열을 기준으로 쪼개는 함수. C++ 에선 지원하지 않아서 직접 구현해야 함. * 시간복잡도: O(n) * 띄어쓰기를 기준으로 문자열을 쪼개는 예시 코드. 암기 ★★★★★ #include #include #include using namespace std; vector split(string input, string delimiter) { vector ret; long long pos = 0; string token = ""; while ((pos = input.find(delimiter)) != string::npos) { token = input.substr(0, pos); // "안녕하세요" ret.push_back(token); input.erase(0, pos + de..

728x90