목록분류 전체보기 (91)
직대딩 블로그
#include void merge_sort(int sorted[], int array_a[], int array_b[], int m, int n) { int a_ptr = 0, b_ptr = 0, s_ptr = 0, k; while (a_ptr < m && b_ptr < n) { if (array_a[a_ptr]
기수 별로 비교 없이 수행하는 기수 정렬 알고리즘이다. 시간복잡도는 O(nw)이다. #include void rs(int a[], int n) { int i, j, k, base, num, mx = 0, m = 0, bucket[10][20], cnt[10]; for (i = 0; i mx) mx = a[i]; base = 1; while (base

#include //haep = priority_queue void upheap(int); //생성 void insert(int); //삽입 void downheap(); //대치 int del(); //변경 void heapsort(int a[], int); //실행 함수 int a[10]; int n = 10; //전역 배열 a와 전역변수 n void heapsort(int a[], int n) { int i; for (i = 0; i 21번 코드 for (i = 0; i < n - 1; i++) { a[i] = del(); // 삭제 35번 코드로 이동 printf("%d번 데이터 삭제 = %..
#include int count, m; void swap(int *x, int *y) { int temp = *x; *x = *y; *y = temp; } void qs(int a[], int left, int right) { int i, j, k, pivot; if (left left && a[j] > pivot); if (i < j) swap(&a[i], &a[j]); printf("step %d :", m++); for (int k = 0; k < count; k++) printf("%d\t"..
substring - int to string s.substr(a,b) : a~b까지를 string으로 return s.c_str() : string의 시작주소 stoi - string to int stol - string to long s.c_str() : string의 시작주소 abs : 절대값 구해줌 (힙에서 사용) priority_queue pq; reverse iterator sqrt (실수형 제곱근) greater,less 등 계산함수 str[i] == str.size() 올림 : ceil 내림 : floor 반올림 : floor(내림)에 0.5 더해 사용 sort(b, b + n, greater());

1. Suffix Array 란? 해석하면 접미사 배열로 다양한 문자열 문제들을 해결할 수 있는 매우 강력한 자료구조입니다. 문자열(Array)의 접미사(Suffix)를 사전순으로 정렬한 배열이고 보통 문자열 검색이나 전문 검사 등에 쓰입니다. Suffix Array를 이용한 대표적인 문제론 여러분들의 두뇌를 괴롭힐 LCP Array(Longest Common Prefix Array)가 있습니다. 위의 그림은 banan 라는 문자열을 Suffix Array로 나타낸 경우입니다. Suffix Array는 완전 탐색보다는 조금 나은 수준으로 O(N^2)의 공간복잡도를 가집니다. 그럼에도 왜 힘들게 구현하여 쓰는가. 바로 이런식으로 몇 번째 접미사인지 나타내는 정수 i만 가지는 정수형 자료 구조 형태를..

오늘은 알고리즘 문제를 풀 때 정말 흔히 보이는 에 대하여 알아보겠습니다. DFS, BFS, 다익스트라, 스패닝 트리 등 정말 다양한 문제에서 등장하는 것이 그래프죠. 1. 그래프란 ? 가장 기본적인 정의는 정점(Vertex)와 간선(Edge)의 집합입니다. 여기서 간선은, 두 정점을 이어주는 역할을 합니다. 자기자신을 이을 수도 있고, 간선에 방향이 있기도 하고 없기도 하며, 가중치가 있기도 하고 없기도 하는 등 아주 다양한 형태의 그래프가 있습니다. 위의 그래프는 1,2,3,4,5,6의 총 6개의 정점으로 이루어져 있고, {(1, 2), (1, 5), (2, 3), (2, 5), (3, 4), (4, 5), (4, 6)} 의 총 7개의 간선으로 이루어져 있다고 불 수 있겠습니다. V(정점의 집합)..
1. 네트워크를 끊고 PC 를 부팅한다. 2. 관리자 권한으로 cmd 에 들어가서 slmgr /cpky < -- 로 레지스트리 키 제거시키고, slmgr /upk < -- 로 하드웨어에 입력되어있던 제품키를 제거시킨다. (관리자 권한 아니면 제대로 안지워짐) 3. 그리고 제품 키 변경 눌러서 가지고 있는 윈도우 정품 키를 입력한다. 4. 이때 랜선을 다시 연결해 네트워크를 연결시킨다. 5. 중간에 하드웨어가 변경된 것 같다 어쩌고 뜨는데, 네트워크 연결되면서 정품 라이센스 인증 되었다고 뜬다. 6. 정품인증된 완료

어느 순간 윈도우가 스스로 필수 업데이트를 받더니 업데이트 후 이런 로그인 창이 뜬다. 안뜨게 하는 방법을 간략하게 알아보자. 1. 키보드에서 'Windows 로고 키 + R 키'를 누르신 후, 실행 창이 나오면 netplwiz를 입력 후 확인 선택 2. 아래 그림과 같이 사용자 계정 창에서 사용 중인 계정 이름을 선택한 후에 '사용자 이름과 암호를 입력해야 이 컴퓨터를 사용할 수 있음'의 체크를 해제한다 . 3.아래 그림과 같이 자동 로그인 창이 나타나면, 해당 사용자 이름과 암호를 입력 후 확인한다. 4. Windows 10을 다시 시작하신 후 확인한다. 참고 - Microsoft 커뮤니티

1. 제어문 1. 제어문의 종류 2. if 문 - 조건식을 판별하여 조건이 참이면 중괄호()안의 명령문을 수행하고, 거짓이면 중괄호()안의 명령문을 점프 후 다음 명령을 수행하는 가장 단순한 형태의 조건문 ※ 조건에 따라 수행해야 할 명령문이 한 개일 경우 중괄호는 생략 가능 1) 단순 if문 사용 예 if(조건) { 명령문 1; 명령문 2; ... 명령문 n; } 다음명령; 2) 단순 if문 사용 예(중괄호 생략) if(조건) 명령문; 다음명령; 3. if ~ else 문 - 둘 중 한 개를 선택하는 조건문으로 조건이 참인 경우와 거짓인 경우에 수행하는 명령이 다름 - if문의 조건이 만족하지 못하면 else문이 수행 ※ else 다음에는 절대로 조건을 쓸 수 없음 - 조건에 따라 수행해야 할 명령문이..