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

    클래스와 넘파이, 그리고 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

    라즈베리파이의 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..