일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Graph
- VIM
- Algorithm
- 백준
- 리트코드
- Database
- Python
- TypeScript
- db
- 안드로이드
- DFS
- CS
- 동적 계획법
- git
- 다이나믹 프로그래밍
- network
- Redux
- DP
- LeetCode
- 프로그래머스
- 알고리즘
- 자바
- java
- frontend
- react
- vscode
- BFS
- 그레이들
- Data Structure
- Javascript
- Today
- Total
목록전체 글 (390)
늘 겸손하게
안녕하세요 besforyou 입니다. 이번 글에는 vim 바탕 색상을 바꾸는 방법을 알려 드리겠습니다. 1. 플러그인 매니저 설치 가장 많이 쓰이는 플러그인 매니저를 설치합니다. 설치를 위해서는 git이 필요하므로, git 설치를 안하셨다면 아래 명령으로 git을 설치해주세요 1 sudo apt-get install git cs git이 설치되었다면 아래의 명령을 입력하세요 1 curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim cs 출처- GitHub - junegunn/vim-plug: Minimalist Vim Plugin Manager 2..
편집기 VIM 탭, 인덴트 설정을 바꾸자 sudo vim /etc/vim/vimrc 에 들어가서 맨 밑에 추가하면 끝 1. set number 맨 왼쪽에 줄마다 번호가 매겨진다 - 전 - 후 2. 탭 간격 설정 탭[Tab] 간격 설정. value 값 만큼 간격이 설정됨 set tabstop=4 (탭을 4개 공백으로 / 'set ts=4' 도 가능) set softabstop=4 (탭키를 누르면 4개 공백 / 'set sts=4' 도 가능) set shiftwidth=4 ( 인덴트를 4개 공백으로 / 'set sw=4' 도 가능) 3. set cindent C/C++ 스타일의 들여쓰기(인덴트) 활성화 4. set smartindent 전처리기 명령에는 인덴트 적용 없이 다음 줄로 넘어가는 인덴트 - 적용 ..
1 #define swap(type, x , y ) do{ type t; t = x; x = y; y = t; }while(0); cs 두 변수의 값을 교환하고 싶은 경우, 보통은 함수를 만들어 교환했습니다. 예로 정수형 변수 두 개의 값을 서로 바꾸고 싶을때 포인터를 이용해 함수를 만들어 교환했습니다. 하지만 위 함수는 '정수형' 변수들만 변환이 가능하기 때문에 다른 타입의 변수들을 교환하고 싶으면 또 함수를 따로 만들어야 합니다. 대략 이런식으로 말이죠 하지만 이 방식은 줄이 길어지고, 무엇보다도 '귀찮습니다'. 이를 해결하기 위한 방법이 스왑 매크로 입니다. 사용 방법은 간단합니다. 바로 위의 스왑 매크로를 코드 맨 위에 넣어주고 교환하고 싶은 두 변수의 타입을 첫 번째 인자로 교환하고 싶은 두 변..
안녕하세요 이번 글에는 정렬 알고리즘들의 정렬 속도 차이를 비교해볼까 합니다. 비교할 정렬 알고리즘은 1. 버블 정렬 (bubble sort) 2. 단순 삽입 정렬(straight insertion sort) 3. 퀵 정렬(quick sort) 입니다. 정렬 알고리즘 구현 코드는 글 하단에 있습니다 :) - 기본 지식 버블 정렬과 단순 삽입 정렬의 시간 복잡도는 O(n^2), 퀵 정렬의 시간 복잡도는 O(n logn)입니다. 정렬 알고리즘들의 실제 정렬 속도 차이를 알기 위해 라이브러리 의 함수인 clock()을 이용해 정렬 전 시간과, 정렬 후 시간을 비교할 것입니다. 또한 무작위 숫자가 저장된 배열을 만들기 위해 라이브러리 의 rand() 함수도 사용할 것입니다. 또한 정렬할 원소 수가 적을 경우와 ..
Quick sort ( 퀵 정렬 ) 가장 빠른 정렬 알고리즘 중 하나로 빠른 정렬 속도 덕에 널리 쓰입니다. C/C++ 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 void quick_sort(int a[], int left, int right) { int pl = left; int pr = right; int x = a[(pl+pr)/2]; do { while(a[pl] x) pr--; if (pl
단순 삽입 정렬은 요약하자면 정렬되지 않은 부분의 첫 번째 요소를 정렬된 부분의 알맞은 위치에 삽입하는 정렬 알고리즘입니다. 아래와 같은 배열을 예로 들어보겠습니다. 6 3 2 1 5 9 10 단순 삽입 정렬은 2번째 요소부터 시작합니다. 2번째 요소인 3을 알맞은 위치에 배치하면 6 3 2 1 5 9 10 바로 앞 숫자인 6과 자리가 바꾸어집니다. 3 6 2 1 5 9 10 다음으로 3번째 요소인 2를 알맞은 위치에 배치하면 3 6 2 1 5 9 10 앞자리에 위치하던 3과 6이 뒤로 밀리고 2가 앞으로 오게됩니다. 2 3 6 1 5 9 10 이후에도 이와 같은 작업을 4번째 요소, 5번째 요소, ... , N - 1 번째 요소까지 반복하여 정렬을 마치게 됩니다. 이를 코드로 구현하려면 윗 문장의 '이..