분류 전체보기

    [Python] 기본 자료형 1(숫자형, 문자열, bool형, None)

    [숫자형] 숫자형에는 int(정수형), float(실수형), complex(복소수)가 있다. - integer(정수형) 말 그대로 양의 정수, 음의 정수, 0을 포함하는 자료형이다. a = 123 b = -123 c = 0 파이썬 2.x 버전에서는 엄청 큰 숫자를 담기 위한 long 타입이 존재했지만, 3.x부터는 long 타입이 사라지고, int 타입이 크기 제한이 없는 부호있는 정수형이 되었다. 파이썬 정수형의 크기는 컴파일러에 의해서가 아닌 컴퓨터 메모리에 의해서만 제한된다. 8진수(ex, 0o65)나 16진수(ex, 0x1FF)로도 표현이 가능하다. a = 0o65 b = 0x1FF - float(실수형) 실수형은 소수점이 포함된 숫자를 의미한다. 다른 언어처럼 float와 double 타입이 따..

    비트마스크 (BitMask) 알고리즘

    1. 비트마스크(BitMask)란? - 비트마스크(BitMask)는 이진수를 사용하는 컴퓨터의 연산 방식을 이용하여, 정수의 이진수 표현을 자료 구조로 쓰는 기법을 말한다. - 이진수는 0 또는 1을 이용하므로 하나의 비트(bit)가 표현할 수 있는 경우는 두 가지이다. - 보통 어떤 비트가 1이면 "켜져 있다"라고 말하며, 0이면 "꺼져 있다"라고 말한다. 2. 비트마스크의 장점 1. 수행 시간이 빠르다. 비트마스크 연산은 bit 연산이기 때문에 O(1)에 구현되는 것이 많다. 따라서 다른 자료구조를 이용하는 것보다 훨씬 빠르게 동작하게 된다. 다만, 비트마스크를 이용하는 경우에는 비트의 개수만큼 원소를 다룰 수 있기 때문에 연산 횟수가 적은 경우에는 속도에 큰 차이가 없지만, 연산 횟수가 늘어날수록 ..

    [C++] 함수를 객체로 사용하기 (std::function, std::mem_fn, std::bind)

    Callable Callable 이란, 이름 그대로 호출(Call)할 수 있는 모든 것을 의미한다. 대표적인 예시로 함수가 있다. 하지만 C++에서는 ( ) 를 붙여 호출할 수 있는 모든 것은 Callable 이라고 정의한다. same_obj 는 클래스의 객체이지만, 함수처럼 ( ) 를 호출할 수 있다. 마찬가지로, a 는 람다 함수이지만, ( ) 를 통해 호출할 수 있기에 Callable 이라고 할 수 있다. #include struct S { void operator()(int a, int b) { std::cout

    [C] 함수 포인터 사용법 & 예제 총 정리

    함수의 주소 변수를 선언하면 메모리 공간이 할당되고 그 공간의 위치가 주소로 존재하듯이 함수를 선언해도 변수와 마찬가지로 메모리에 공간이 할당되며 그 위치를 표현하는 주소가 생겨난다. C언어 코드는 컴파일이 되면 기계어로 변경되고 프로그램이 실행되면 코드 세그먼트라는 메모리 영역에 위치하게 된다. 즉, 함수의 형태는 변경되겠지만 결국 메모리에 저장되기 때문에 주소를 가지게 된다는 의미다. #include void print_hello() { printf("Hello, world!\n"); } int main() { // 메모리 상에 저장된 함수의 주소값 printf("함수의 주소값 : %p\n", print_hello); // & 생략 가능 return 0; } 포인터 변수란? 위에서 설명했듯 포인터는 ..

    [C#] 4.0 필수 매개변수 및 선택적 매개변수

    C# 4.0 필수 매개변수 및 선택적 매개변수 4.0에 새로 추가된 기능이라고 한다. 기존에는 매개변수가 1개 일 경우, 2개일 경우 어떤 매개변수를 이용하느냐에 따라 오버로딩 하면서 사용했다. 어떤 것을 예제로 사용할지 고민하다가 Account를 생성하는 부분을 코드로 짜기로 했다. Create라는 함수가 1. 이름, 2. 이름+폰번호, 3. 이름+폰번호+주소 이렇게 세가지 방법으로 인수를 넘겼을 때 동작하려면 우리는 아래의 코드처럼 오버로딩을 이용했다. [1] 기존의 오버로딩 기법 현재 AccountBook 클래스에는 Create라는 함수가 있는데 매개변수에 따라 재선언하여 오버로딩 해둔 것을 볼 수 있다. C#을 만나기 전까지는 나도 오버로딩을 하여 사용하기도 했고 함수명에 따라 구분하기도 했다. ..

    [C#] 생성자와 상속

    자식 클래스에서 부모클래스로 접근은 가능하지만 자식클래스에서 부모클래스의 생성자는 자동으로 상속되지 않는다. class Parent { public int X; public Parent() { } public Parent(int X) { this.X = X; } } class Child : Parent { } class Program { static void Main(string[] args) { Child child = new Child(123); //컴파일에러 Console.WriteLine(child.X); } } 자식클래스는 자신이 노출하고자 하는 생성자들을 반드시 '다시 정의' 해야한다. class Parent { public int X; public Parent() { } public Pare..

    [Unity] 플랫폼별 컴파일 (전처리기)

    [유니티 C# 강좌] 16. 전처리기 지시어(Preprocessor Directive) (tistory.com)

    Stateful (동기) / Stateless (비동기) 서버

    Stateful (실시간 온라인 게임) 게임서버 Stateless (비실시간 비동기 온라인 게임) 게임서버 이 두 가지의 서버기술은 완전히 다른 방식의 기술을 사용한다. 먼저 게임의 종류에 대해 알아보자. 게임은 크게 '실시간 온라인 게임'과 '비실시간 비동기 온라인 게임'으로 나뉜다. 실시간/비실시간 게임 실시간 온라인 게임 리니지 LOL 오버워치 크레이지아케이드 이런 실시간 온라인 게임들은 다수의 유저들과 실시간 액션 플레이를 해야한다. 그렇기 때문에 모든 클라이언트는 서버에 접속하여 연결을 유지한 상태로 플레이를 진행한다. 또한 게임의 로직과 전투의 판정 등, 모든 데이터와 결정은 게임서버가 주도적으로 진행해야만 한다. 우리는 이런 게임을 ‘실시간 온라인 게임’ 이라고 부르며 이런 목적의 게임 서버..

    [C#] 하나의 클래스의 모든 상속클래스 (자식클래스) 가져오기

    var listOfBs = ( from domainAssembly in AppDomain.CurrentDomain.GetAssemblies() // alternative: from domainAssembly in domainAssembly.GetExportedTypes() from type in domainAssembly.GetTypes() where typeof(B).IsAssignableFrom(type) // alternative: && type != typeof(B) // alternative: && ! type.IsAbstract // alternative: where type.IsSubclassOf(typeof(B)) select type).ToArray(); 다른 버전 var listOfBs..

    [실3] 21921 - 블로그

    #include #define FAST_IO() \ {\ ios::sync_with_stdio(false);\ cin.tie(NULL); \ cout.tie(NULL); \ }\ using namespace std; int main() { FAST_IO(); int arr[250000]{0}; int n, x; cin >> n >> x; for (int i = 1; i > num; arr[i] = arr[i - 1] + num; } int ans = 0, cnt = 0; for (int i = x; i 0) cout