Python

    [Matplotlib] Plot (line) 그래프 / plt.plot(), plt.axis(), plt.title(), plt.xlabel(), plt.ylabel(), plt.legend(), plt.xticks(), plt.yticks()

    [Matplotlib] Plot (line) 그래프 / plt.plot(), plt.axis(), plt.title(), plt.xlabel(), plt.ylabel(), plt.legend(), plt.xticks(), plt.yticks()

    matplotlib¶ matplotlib.pyplot 라이브러리 import In [1]: import matplotlib.pyplot as plt plot¶plt.plot()¶ 기본 그래프 그리기 In [2]: plt.plot([1,2,10], [10,20,5])#x,y 값 (1,10) (2,20) (10, 5) plt.show() In [3]: plt.plot(['a', 'b', 'c'], [10, 29 ,5]) plt.show Out[3]: axis()¶ 축의 범위 지정 In [4]: plt.axis([-0.5, 2.2, 0, 21]) #[xmin, xmax, ymin, ymax] plt.plot(['z', 'b', 'a..

    [Python] Trailing comma, Terminal comma 란?

    [Python] Trailing comma, Terminal comma 란?

    Trailing comma 파이썬의 튜플에서만 요소의 끝에 comma 를 붙이는 것을 허용하고 있다. numpy 에서 ndarray 의 shape 을 나타낼 때, 주로 적용된다. (1,2) == (1,2,) #True

    [알고리즘] mergeSort 병합(합병)정렬 (pseudo-code, 파이썬, Java)

    [알고리즘] mergeSort 병합(합병)정렬 (pseudo-code, 파이썬, Java)

    병합정렬(mergeSort) 주어진 크기가 n인 리스트 A를 크기가 n/2인 두 부분으로 나눈다. 크기가 n/2인 두 부분을 재귀적으로(recursively) 정렬한다. 정렬된 두 부분을 하나로 병합한다 Merge(병합) 알고리즘 : 나뉜 두부분의 첫부분을 비교하여 작은 원소를 새로운 배열에 넣어주고, 작은 원소가 있던 부분배열의 인덱스를 늘려준다. 이렇게 부분배열이 다 넣어질 때까지 반복한다. 다른 한쪽부분은 남은 부분이 있을 수 있으므로 남은 부분배열의 전체를 배열에 넣어준다. Pseudo-code mergeSort 함수 : 정렬되지 않은 리스트(배열)을 재귀적으로 분할하는 역할을 한다 Algorithm mergeSort(arr, left, right) if (left < right) mid = (f..

    [python](알고리즘) quickSort 퀵정렬(랜덤 피봇) 구현

    [python](알고리즘) quickSort 퀵정렬(랜덤 피봇) 구현

    quickSort 구현 랜덤 피봇 방법(random pivot) import random def swap(array, i, j): #array[i] 값과 array[j] 값 swap 함수 tmp = array[i] array[i] = array[j] array[j] = tmp def quick_sort(array, start, end): #랜덤피봇의 퀵정렬 if start >= end: #원소가 1개인 경우 return else: p = partition(array, start, end) #기준 피봇 결정 quick_sort(array, start, p-1) #피봇기준 왼쪽 부분 재귀호출 quick_sort(array, p+1, end) #피봇기준 오른쪽 부분 재귀호출 return array def pa..

    [python](알고리즘) mergeSort 병합정렬(합병정렬) 구현

    [python](알고리즘) mergeSort 병합정렬(합병정렬) 구현

    Merge sort(합병정렬) 구현 코드 def merge_sort(list): if len(list)

    프로그래밍 언어 순위 (TIOBE index) , 파이썬의 전망

    프로그래밍 언어 순위 (TIOBE index) , 파이썬의 전망

    프로그래밍 언어 순위 (TIOBE index) 오랫동안 프로그래밍 언어의 인기 순위에서 1위를 차지하고 있던 Java 가 최근 순위가 3위로 떨어졌다. 출처: https://www.tiobe.com/tiobe-index/ 이러한 순위 결과를 산정한 TIOBE index 에서는 현재 사용하고 있는 프로그래밍 언어를 이용하는 엔지니어 수와 해당 프로그래밍 언어 관련 강좌 및 홈페이지 수, 그리고 Google, Bing 등의 검색 플랫폼에서 그 언어가 검색된 횟수의 기준으로 순위를 결정한다. TIOBE index 프로그래밍 언어 평가 기준 해당 프로그래밍 언어를 이용하는 엔지니어의 수: 과거에 프로그래밍 언어를 배웠던 엔지니어들도 포함되기 때문에 이 수치는 프로그래밍 언어의 과거부터 현재까지의 인기를 간접적으..

    [python] factorial 함수, 재귀함수 구현

    [python] factorial 함수, 재귀함수 구현

    factorial 팩토리얼 함수 구현 팩토리얼 함수의 재귀함수버전 def factorial(num): #팩토리얼 함수 factor = 1 for i in range(1,num+1): factor *= i return factor def factorialRecursion(num): #팩토리얼 재귀함수 if num == 1: return 1 return num * factorialRecursion(num - 1) 실행 print(factorial(5)) print(factorialRecursion(5)) 결과 120 120

    [python] (알고리즘) binarySearch (이진탐색) 구현

    [python] (알고리즘) binarySearch (이진탐색) 구현

    binarySearch (이진탐색) 구현 코드 #이진탐색 data = [2, 11, 19, 27, 30, 31, 45, 121] n = int(input(&#39;검색할 데이터를 입력하세요: &#39;)) l = 0 #검색할 데이터 리스트의 첫번째 인덱스 h = len(data)-1 #검색할 데이터 리스트의 마지막 인덱스 count = 0 #검색 비교 횟수 isFlag = False #데이터 검색의 성공 여부 while(l data[m]: l = m + 1 elif n < data[m]: h = m - 1 #count 위치 유의 count += 1 # 비교횟수를 증가 print("{} 번 비교했습니다".format(count)) if isFlag: print("검색 완료!, 입력된 데이터 {}의 인덱스는..

    [python](자료구조) Queue class 구현

    [python](자료구조) Queue class 구현

    Queue 클래스 구현 중복된 값 enqueue 불가능 Stack의 size 값이 defuat 일 경우 5로 설정 overflow / underflow 주의 생성자 queue 리스트 생성 size 초기화 rear, front 초기화 enqueue() dequeue() view() 메소드 구현 class Queue: def __init__(self, size = 5): self.queue = [] #큐를 리스트로 구현 self.size = size #큐의 사이즈 self.front = 0 #큐의 앞쪽 포인터 self.rear = 0 #큐의 뒤쪽 포인터 def enqueue(self, data): if data in self.queue: #중복된 값 방지 print("{} 값은 이미 큐에 있는 데이터입니다...

    [python](자료구조) stack class 구현

    [python](자료구조) stack class 구현

    Stack 클래스 구현 중복된 값 push 불가능 Stack의 size 값이 default 일 경우 5로 설정 overflow / underflow 주의 생성자 stack 리스트 생성 size 초기화 top SP(Stack Pointer) 초기화 push() pop() view() 메소드 구현 class Stack: def __init__(self, size = 5): self.stack = [] #stack 리스트 생성 self.size = size #stack 의사이즈 self.top = 0 #SP(Stack Pointer) stack에 저장되는 데이터의 개수 def push(self,data): if data in self.stack: print("{} 값은 중복된 데이터입니다.".format(da..