전체 글

전체 글

    [Unity] UI - 마인크래프트 형태 조합창

    세팅public class Minecraft_inventory_setup : MonoBehaviour{ // 슬롯 오브젝트 담음 List m_inventory_slot_list = new List(); [ContextMenu("UI 인벤토리창 생성")] public void Create_crafting_set() { // 클리어 후 슬롯 생성 m_inventory_slot_list.Clear(); for (int i = 0; i ()); } } [ContextMenu("UI 인벤토리창 삭제")] public void Delete_crafting_set() {#if UNITY_EDITOR // 삭..

    [Unity] UI - 로그인 및 채팅 시스템

    구조public e_chat_state current_state = e_chat_state.INTRO_SCREEN;// ------- BASE VARIABLES -------[Header("Current_info")]public User_info user_info;public Canvas sign_up_canvas;public Canvas login_canvas;public Canvas edit_canvas;public Canvas chat_canvas;// ------- SIGN UP -------[Header("Sign_up_info")]public InputField sign_up_id_field;public InputField sign_up_pw_f..

    최장 증가 수열 (LIS, Longest Increasing Subsquence)

    최장 증가 수열, 정확히 최장 증가 부분 수열은 어떠한 수열에서 오름차순으로 증가하는 가장 긴 부분수열을 의미한다. 이 때, 부분 수열의 각 수는 서로 연속할 필요는 없다.아래의 예시 수열을 보자. 위 수열에서 최장 증가 수열을 찾으면 아래와 같다. 그림에서 붉은 칸으로 칠해진 부분 수열 (1, 2, 3, 6, 7, 9) 는 전체 수열 중 오름차순으로 증가하는 가장 긴 부분수열이다.이제 주어진 수열에서 LIS의 길이를 구하는 두 가지 방법을 알아보자.다이나믹 프로그래밍을 이용한 방법 : O(N^2)이러한 최장 증가 수열을 찾는 가장 단순한 방법은 완전 탐색일 것이다.하지만 수열에 존재하는 수의 개수가 k개일 때, 1개 이상의 원소를 갖는 모든 부분수열의 가짓수는 2^k개이므로, 모든 부분수열을 확인해 이..

    소켓 입출력 모델 - Overlapped 모델

    Overlapped 모델완료 루틴을 통해 비동기 입출력 결과를 처리한다.완료루틴 - 애플리케이션이 정의한 일종의 콜백함수로 운영체제가 적절한 시점에 자동으로 호출하도록 되어 있다.동작 원리비동기 입출력 함수를 호출함으로써 운영체제에 입출력 작업을 요청한다.해당 스레드는 곧바로 alertable wait 상태로 진입한다비동기 입출력 작업이 완료되면, 운영체제는 스레드의 APC 큐에 결과를 저장한다비동기 입출력 함수를 호출한 스레드가 alertable wait 상태에 있으면, 운영체제가 APC 큐에 저장된 정보를 참조하여 완료 루틴을 호출한다 APC 큐에 저장된 정보를 토대로 모든 완료 루틴 호출이 끝나면, 스레드는 alertable wait 상태에서 빠져나온다APC Queue (Asynchronous Pr..

    [브3] 2476 - 주사위 게임

    int main(){ int n, res = 0; cin >> n; while (n--) { int a, b, c, sum = 0; cin >> a >> b >> c; if (a == b && a == c && b == c) sum = 10000 + a * 1000; else if (a != b && a != c && b != c) { int biggest = max(a, max(b, c)); sum = biggest * 100; } else { int val = 0; if (a == b || a == c) val = a; //else if (b == c) else val = b; sum = 1000 + val * 100; } res = max(r..

    [브2] 5622 - 다이얼

    int main(){ string str; cin >> str; int res = 0, arr[]{3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,8,9,9,9,10,10,10,10}; for (int i = 0; i

    [실4] 1018 - 체스판 다시 칠하기

    #pragma region 라이브러리#include //#include #include #include #include #include #include #include #include using namespace std;#pragma endregion#pragma region 최적화용#define FAST_IO() ios::sync_with_stdio(0); cin.tie(0);#define y first#define x second#define INIT 9876543210#define MAX_SIZE 8using IntPair = pair;using DoubleVec = vector>;using Vec = vector;// 상하좌우IntPair dir[]{ { 1, 0 }, {-1, 0 }, { 0, ..

    [브2] 2798 - 블랙잭

    #pragma region 라이브러리#include //#include #include #include #include #include #include #include #include using namespace std;#pragma endregion#pragma region 최적화용#define FAST_IO() ios::sync_with_stdio(0); cin.tie(0);#define y first#define x second#define INIT 9876543210using IntPair = pair;using DoubleVec = vector>;using Vec = vector;// 상하좌우IntPair dir[]{ { 1, 0 }, {-1, 0 }, { 0, -1 }, { 0, 1 }};#p..

    [실4] 9012 - 괄호

    #pragma region 라이브러리#include #include #include #include #include #include #include #include using namespace std;#pragma endregion#pragma region 최적화용#define FAST_IO() ios::sync_with_stdio(0); cin.tie(0);#define x first#define x secondusing IntPair = pair;using DoubleVec = vector>;using Vec = vector;// 상하좌우IntPair dir[]{ { 1, 0 }, {-1, 0 }, { 0, -1 }, { 0, 1 }};#pragma endregionint main() { int t;..

    [실4] 10773 - 제로

    #pragma region 라이브러리#include #include #include #include #include #include #include #include using namespace std;#pragma endregion#pragma region 최적화용#define FAST_IO() ios::sync_with_stdio(0); cin.tie(0);#define x first#define x secondusing IntPair = pair;using DoubleVec = vector>;using Vec = vector;// 상하좌우IntPair dir[]{ { 1, 0 }, {-1, 0 }, { 0, -1 }, { 0, 1 }};#pragma endregionint main() { int t;..