Python
삽입 정렬
삽입정렬은 정렬 범위를 1칸씩 확장해나가면서 새롭게 정렬 범위에 들어온 값을 기존 값들과 비교하여 알맞은 자리에 꼽아주는 알고리즘입니다. 예제와 함께 보는 정렬 방식 맨 처음 두개의 값을 정렬범위로 시작합니다. 1. 1을 앞에 있는 2와 비교. (맨 첫번째 값이니 끝) => [2, 1, 5, 4, 3] 더 큰 값이네? 1과 swap => [1, 2, 5, 4, 3] 2. 한 칸을 더 확장하여 그 값을 정렬된 배열과 비교. 5를 앞에있는 2와 비교. => [1, 2, 5, 4, 3] 바꿀 필요 없으니 교환하지 않고 끝. 3. 한 칸을 더 확장하여 4를 앞에있는 5와 비교. => [1, 2, 5, 4, 3] 더 큰 값이네? 5와 swap => [1, 2, 4, 5, 3] 2와 바꿀 수 없으니 비교 종료. 4..

클래스와 넘파이, 그리고 matplotlib
『밑바닥부터 시작하는 딥러닝』도서를 공부하고 복습하는 내용입니다. A = np.array([[1,2], [3,4]]) A.shape# (2,2) A.dtype# dtype('int64') 1. 클래스 ▶ int, str 등의 자료형은 파이썬이 기본으로 제공하는 내장된 자료형이다. ▶ 새로운 클래스를 정의할 수 있는데, 그때 그 클래스만의 전용 함수(메서드)와 속성을 정의할 수 있다. ▶ class 라는 키워드를 사용하여 클래스를 정의한다. ⑴ 클래스 정의 class 클래스 이름: def __init__(self, 인수 ...):# 생성자 ... def 메서드1(self, 인수 ...):# 메서드1 ... def 메서드2(self, 인수 ...):# 메서드2 ... ▶__init__ 클래스를 초기화하는 방..

라즈베리파이의 GPIO
라즈베리 파이 구성과 환경 세팅 등은 건너뛰고 내가 라즈베이파이로 실습한 내용들을 기록할 예정이다. 라즈베리 파이 실습에는 파이썬 문법과 간단한 리눅스 명령어를 알고 있으면 된다. 그 전에 라즈베리파이의 40개의 GPIO 핀을 짚고 가면 좋을 것 같다. GPIO는 General Purpose Input/Ouput의 약자이다. 즉 임베디드 하드웨어에서 입력, 출력이 가능하도록 한다. 내가 이번 라즈베리파이 실습동안 사용한 PIN number는 다음과 같다. 목적 물리적 PIN번호 (GPIO number) 전원 (5V power) 2 Ground 6 LED1 (R-G-B) 36-38-40 (GPIO 16-20-21) LED2 (R-G-B) 33-35-37 (GPIO 13-19-26) Button 32 (GP..