Fibonacci using Memoization Legacy Fibonacci def fibo(n): return n if n < 2 else fibo(n-2) + fibo(n-1) def Main(): number = int(input(“Enter integer: “)) print(fibo(number)) if __name__==’__main__’: Main() Fibonacci using Memoization __fibo_cache = {} def fibo(n): if n in __fibo_cache: return __fibo_cache[n] else: __fibo_cache[n] = n if n < 2 else fibo(n-2) + fibo(n-1) return […]
[Algorithm] Python으로 구현한 sort
[Algorithm] Python으로 구현한 sort Python은 list 자료형에 대해 sort 메소드를 기본적으로 제공하지만 필요에 따라 직접 구현할 필요도 있고, 또 Python 언어와 알고리즘 이해를 위해 작성한다. 오름차순 정렬 list_data.sort() 내림차순 정렬 list_data.sort(reverse=True) Sort Basic 선택 정렬 (Selection Sort) 삽입 정렬 (Insertion Sort) 거품 정렬 (Bubble Sort) 퀵 정렬 (Quick Sort) 선택 정렬 (Selection Sort) selection sort는 […]
[Algorithm] BFS
Python으로 구현한 BFS BFS 알고리즘은 Queue 자료구조를 사용한다. 그래프 노드를 순회하는데 최초 노드의 모든 자식 노드들을 먼저 탐색한다. 이후 그 자식 노드들의 자식 노드를 모두 탐색하는 과정을 반복한다. 소스코드 #!/bin/python graph = {‘A’: [‘B’, ‘C’, ‘D’], ‘B’: [‘A’, ‘E’, ‘F’], ‘C’: [‘A’, ‘G’], ‘D’: [‘A’, ‘H’, ‘I’], ‘E’: [‘B’], ‘F’: [‘B’, ‘J’], ‘G’: [‘C’], ‘H’: […]
[Algorithm] DFS
Python으로 구현한 DFS DFS 알고리즘은 Stack 자료구조를 사용한다. 그래프 노드를 순회하는데 leaf 노드인 순간까지 앞만 보고 방문한다. 만약 leaf 노드를 만나게 되면, 직전의 분기점으로 돌아가 다시 leaf 노드를 만날 때 까지 방문한다. 소스코드 #!/bin/python graph = {‘A’: [‘B’, ‘C’, ‘D’], ‘B’: [‘A’, ‘E’, ‘F’], ‘C’: [‘A’, ‘G’], ‘D’: [‘A’, ‘H’, ‘I’], ‘E’: [‘B’], ‘F’: [‘B’, […]
[Python] list, append vs. extend
Append vs. Extend Append append는 입력된 object를 list의 맨 뒤에 추가 x = [1,2,3] y = [4,5] x.append(y) print(x) [1, 2, 3, [4, 5]] Extend extend는 iterable object(list, tuple, dict)의 원소를 list의 맨 뒤에 순서대로 추가 x = [1,2,3] y = [4,5] x.extend(y) print(x) [1, 2, 3, 4, 5]
[Python] python3 설치 (소스 빌드하기)
Python 빌드하기 대부분의 Linux 배포판에서는 python 2.x 버전이 기본 설치 된다. 버전 2,3 간의 문법 차이가 제법 크고 현재 최신 버전인 3.7.0 에서 호환이 제대로 안되는 패키지들이 간혹 있어 직접 빌드하는 걸 개인적으로 선호하고, 멀티 노드 환경인 경우 이렇게 하는게 버전 관리하기도 좋은 것 같다. 준비사항 의존 시스템 라이브러리 설치 yum -y install gcc openssl-devel […]
[Regex] regex101.com
regex101.com https://regex101.com/ 정규표현식을 테스트해보고 디버깅할 수 있는 환경을 웹으로 제공. 언어 환경별로 약간씩 문법이 다를 수 있는데 여러 언어별 정규표현식 엔진을 제공하고, group 등 시각적으로 정규식 디버깅할 수 있는 환경이 잘 되어있다.
2*NIC Active-Backup Mode Bonding using nmcli
2*NIC Active-Backup Mode Bonding nmcli Network Manager Command-Line-Interface $ nmcli –help — Usage: nmcli [OPTIONS] OBJECT { COMMAND | help } OPTIONS -t[erse] terse output -p[retty] pretty output -m[ode] tabular|multiline output mode -c[olors] auto|yes|no whether to use colors in output -f[ields] <field1,field2,…>|all|common specify fields to output -g[et-values] <field1,field2,…>|all|common shortcut for -m tabular -t -f -e[scape] […]
VMware vmnet types
VMNET TYPES Bridged Bridged type 스위치를 사용하게 되면 가상머신의 네트워크 카드가 호스트 컴퓨터의 네트워크 카드의 특성을 공유한다. 따라서 호스트 컴퓨터에 연결된 네트워크와 동등한 수준의 네트워크, 별개의 네트워크를 구성할 수 있다. 그러나 내부 망에서만 필요한 통신 작업을 할 때에도 호스트 컴퓨터의 네트워크 리소스를 사용해야만 하고, 외부에서 인식할 수 있는 별도의 ip가 할당돼야한다. 또한 GATEWAY, DNS 서버는 […]