분류 전체보기 (7) 썸네일형 리스트형 [그리디] 큰 수의 법칙 * 그리디 법칙으로 풀게된 포인트 1. 가장 큰 수를 만들어야한다. 2. 주어진 배열을 내림차순으로 정렬해야한다. (그리디는 배열의 정렬과 관련이 깊음) 3. 정렬된 배열에서 첫번째 혹은 두번째 element만 계속 더하게 되므로, 그리디 정당성을 위배하지 않는다. (= 내가 가장 고를 수 있는 큰 수만 계속 골라도 문제가 없음) #include #include #include #include #include using namespace std; int main() { clock_t start, end; //알고리즘 시간 측정하려고 쓴 것 vector vec = {2, 4, 5, 4, 6}; int n = 5; int m = 8; int k = 3; bool is_same = false; int resu.. [한 줄메모] C++ # 이름 없는 namespace를 선언하고 그 안에 함수나 변수를 넣으면 namespace가 속한 파일 안에서만 사용할 수 있다. 마치 C의 static 키워드의 효과를 낸다. namespace { int val; void func(){} } # scope가 다르다면 같은 이름의 변수를 사용할 수 있다. 그리고 변수의 값을 찾을 때는 가장 가까운 범위 내에서 찾는다. #include int main() { int a = 1; { std::cout [About] Me 2020 / 2 ~ 티맥스 데이터에서 RDBMS Tibero를 연구개발하고 있습니다. 자세한 사항은 후에 업로드 예정입니다. Github github.com/mongpoo94 [한 줄메모]Linux 쉘 스크립트 정리 # vim에서 :! man [section] [target] 치면 그 target의 man page로 이동한다. 함수 같은 경우 section이 2 or 3에 많다. 혹은 커서를 함수이름에 놓고 shift + k 하면 man page로 가진다. 1) man1 - Shell Utilities and User commands => 사용자 명령(쉘 명령)이 들어있다. 2) man2 - Systems Calls => 리눅스 프로그래밍을 위한 시스템 호출과 관련된 내용이 들어있다. 3) man3 - library functions => 리눅스 라이브러리 함수와 관련된 내용이 들어있다. 4) man4 - Devices and Devices Drivers => 관련 장치나 장치 드라이버, 특수파일(FIFO, 소켓 등.. [C 언어] 매크로에 do {...} while(0)을 사용하는 이유 가끔식 코드를 보면 아래와 같이 매크로에 do {..} while(0) 문을 쓰는 것을 볼 수 있다. #define TEST() \ do { \ \ \ } while (0) 이렇게 코드를 만들어주는 이유는 아래와 같다. 1. 지역 변수를 선언할 수 있는 scope를 만들어준다. #define TEST() \ do { \ int i = 0; \ } while (0) 하지만 굳이 do {...} while(0) 문이 아니고 그냥 중괄호를 사용해도 지역변수를 선언할 수 있다. #define TEST() \ { \ int i = 0; \ } while (0) 그렇다면, "do {...} while (0) 문 대신 그냥 중괄호를 사용하여 지역변수를 할당할 수 있도록 하면되는 것 아닌가?" 라는 의문이 든다. 하지.. [한 줄메모] C언어 # 리터럴이라는 공간이 있는데, 메모리 코드 세그먼트에 속하며 read only인 공간이다. (사실 코드 세그먼트 자체가 read only이다) 리터럴이란 소스코드상 고정된 값이라는 뜻이며, 아래와 같이 큰 따옴표로 묶인 문자열도 리터럴의 종류이며 스트링 리터럴이라고 한다. 자세한 사항은 아래 링크를 가면 된다. const char *str = "hello"; modoocode.com/33 씹어먹는 C 언어 - modoocode.com [Linux IPC] 1. IPC란? 프로세스 간 통신 (Inter-Process Communication, IPC)이란 프로세스 들 사이에 서로 데이터를 주고받는 행위 또는 그에 대한 방법이나 경로를 뜻한다. - wiki 백과 - 메모리 상에는 여러 가지 프로세스가 존재할 수 있다. 그렇기 때문에 우리는 크롬으로 유튜브를 보면서 게임을 할 수 있다. 프로세스는 기본적으로 고유의 메모리 영역을 가진다. 하드디스크에 있는 프로그램(이미지)이 메모리에 적재되면 OS로부터 메모리 공간을 할당받는데 이 영역은 프로세스의 고유의 영역으로 다른 프로세스가 침범할 수 없다. 하지만, 프로세스 간에 데이터가 공유돼야 하는 상황이 발생할 수 있는데, 이를 가능케하는 것이 IPC이다. IPC에는 크게 2가지 방법이 있다. 1. 한 프로세스에서 다른 프로세스로.. 이전 1 다음