전체 글130 [수업기록] 알고리즘 : stack 240806~240807 1. stack의 특성 - 박스처럼 자료를 순서대로 쌓는 방식(박스, 접시를 생각하자!)- 스택에 저장된 자료는 선형 구조를 갖는다- 선형 구조 : 자료 간 관계가 1대 1의 관계- 비선형구조 : 자료 간의 관곅 1대 N의 관계 ex. 트리 - 스택에 자료를 삽입하거나 자료를 꺼낼 수 있다- 마지막에 삽입한 자료를 가장 먼저 꺼낸다(후입선출, LIFO)- 마지막 삽입된 원소의 위치를 top이라 부름- 연산 : 삽입(push), 삭제(pop)stack = []#append : 추천하지 않는 방식 -> 시간이 O(1)로 빠르지만 동적으로 메모리 할당하다보니 시간이 오래 걸림#stack : 아예 사이즈를 잡아놓고 시작을 권유함stack.append(1) #push(1)stack.app.. 2024. 8. 6. [수업기록] 알고리즘 : string 240802 1. 문자의 표현1) 컴퓨터에서 문자를 어떻게 표현하는가?- 숫자(부호)만을 처리한다. - A라는 글자 모양 그대로 비트맵으로 저장시 메모리 낭비가 심하고- 각 문자에 대해서 대응되는 숫자를 저장해놓고 메모리에 저장하는 방법을 쓴다- 표준 ASCII(미국 문자 표준 인코딩)가 등장 : 7-bit 인코딩, 10진수(32~126)나 16진수로 표현- bit란? 8 bits = 1 byte (byte란 주소가 부여되는 최소단위 -> 64byte 노트북은 한번에 처리할 수 있는 주소 단위)- 그러나 ... 네트워크가 전세계적으로 발달하면서 각국의 문자를 정해놓은 규칙을 하나로 정리한 unicode가 등장 2) 유니코드도 다시 character set으로 분류된다- ex. UCS-2, UCS-4 -.. 2024. 8. 2. [수업기록] 알고리즘 : list(검색, 선택 정렬) 240801 파이썬반 1. 검색1) 개념 : 저장되어있는 자료 중에서 원하는 항목을 찾는 작업 2) 종류 :- 순차 검색 : 일렬로 되어있는 자료를 순서대로 검색하는 방법 -> list 배열 검색, 단 검색 대상 수가 많으면 수행시간 비효율: 2가지 경우가 있음(정렬되어 있는 경우, 정렬x) : 정렬되어 있지 않는 경우 ->: 처음부터 끝까지 해당 원소 찾아보고 인덱스 반환, 찾지 못하면 검색 실패(통상 -1 반환): 평균 시간복잡도 O(n) : (1/n) * (1+2+3+..+n) = (n+1)/2 : 정렬되어 있는 경우 (오름차순, 내림차순) -> : 하나씩 순회하면서, 해당 순회 값이 찾고자 하는 값보다 크면, 찾는 원소가 없는 것으로 판단하고 검색 종료: 평균 시간복잡도 O(n)def seque.. 2024. 8. 1. [수업기록] 알고리즘 : list(배열, 정렬, 순열-조합, 완전탐색, 그리디, 행렬) 240729~2407311. 알고리즘이란 문제를 단계별로 해결하는 방법 2. 알고리즘의 작업량을 표현할 때 시간복잡도라는 개념으로 표현한다1) 시간 복잡도 - 개념 : 실제 걸리는 시간을 측정 , 실행되는 명령문의 개수를 계산 - 표기법 : 빅-오(O) 표기법 -> 시간 복잡도 함수 중에서 가장 큰 영향력을 주는 n에 대한 항만을 표시O(3n+2) = O(3n)*최고차항만 남겨둠 = O(n) *계수 제거 O(4) = O(1) # 계수 4 제거 - N 1억개일 때 0.1초 import math그럼 n2은?print((10**8)**2*0.1)print(math.log2(10**8)*0.1)3. 배열1) 개념 : 배열(array)이란 무엇인가? 일정한 자료형의 변수들을 하나의 이름으로 열거하여 사용하는 자료.. 2024. 7. 31. [일기] 파이썬 수업이 끝이 났다 야호! 이젠 후기도 아닌 대놓고 일기라 적겠음ㅋㅋ 파이썬 수업이 끝이 났다 그래서 이번주엔 뭘했냐면... 반 동기들이랑 친해지라는 사무국 인증샷 이벤트 참여함 ㅎㅎ근ㄷㅔ 반별로 이벤트 참여하는건데 나 혼자 참여함............(..........) 추첨하면 나 무조건 받겠다 앗싸 근데 나 아직 우리반 사람들과 존댓..말..해..........~1반 사람들이랑은 더..다 아는 나..... 그리고 이번주엔 무엇보다 지은언니가 기다리고 기다리던 대망의 입학식도 있었는데 & 단체사진......... 2반 만세,,,~입학식 마치고 오후에 반 규칙을 정했는데 1번이 반말하기고 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ(2반 애들이 놀령 ㅠㅠ)칠판에 동기부여 문장 쓰자고 내가 제안했는데>, 이거 동기부여 맞냐고 ,,,,,.. 2024. 7. 26. [관통PJT] 2주차 : 데이터 사이언스 기초(numpy, pandas) 240726 파이썬반 1. 데이터 사이언스 기초1) 데이터 사이언스란 무엇일까다양한 데이터로부터 새로운 지식과 정보를 추출하기 위해 과학적 방법론, 프로세스, 알고리즘, 시스템을 동원하는 융합 분야 2) 데이터 수집- 웹 스크래핑 : 웹 페이지에서 데이터를 추출하는 기술- 웹 크롤링 : 웹 페이지에서 자동으로 탐색하고 데이터를 수집하는 기술- API : 공개된 API 통해 데이터 수집 3) csv 파일- 몇가지 필드를 쉼표(,)로 구분한 텍스트 데이터 및 텍스트 파일- 저장, 전송 및 처리 속도가 빠름 4)데이터 처리 및 데이터 분석- numpy : 수학 계산용 패키지. pandas와 matplotlib 사용 위한 패키지-- 다차원 배열(행렬), numpy 행렬 연산은 데이터가 많을수록 파이썬 반복문에 .. 2024. 7. 26. [수업기록] OOP : 객제지향프로그램(2), 에러와 예외 240725 파이썬반 1. 상속1) 개념- 기존 클래스의 속성과 메서드를 물려받아 새로운 하위 클래스를 생성하는 것- 코드 재사용(중복 코드를 줄일 수 있음)- 계층 구조(하나의 큰 클래스가 아닌 단계적으로 계층구조를 만들어 더 구체적인, 관계가 있는 클래스 형성 가능)- 유지 보수 용이(해당 클래스만 수정하면 됨 즉 수정이 필요한 범위 최소화 가능)- 문법class Person:def class Professor(Person): #하위클래스 문법def 2) 다중 상속- 둘 이상의 상위 클래스로부터 여러 행동이나 특징을 그대로 상속받게 되는 것- 중복되는 속성이나 메서드가 있는 경우, 상속되는 순서에 의해 결정class Person:defclass Mom(Person):defclass Dad(Perso.. 2024. 7. 25. [수업기록] OOP : 객체지향프로그램(1) 240724 파이썬반 1. 객체 지향 프로그램 1) 절차 지향이란?- 절차(순서)와 데이터(부가적) 프로그램을 구성하는 프로그래밍 방식- 함수 호출 흐름이 중요(순서가 있기에, 일부만 재사용 어려움) -> 결과물 중시- 한계 : 하드웨어의 발전으로 소프트웨어 대응 어려워짐 2) 객체 지향이 그래 등장함- 데이터와 해당 데이터를 조작하는 메서드 중심이 되는 프로그래밍 방식- 즉, 데이터를 하나의 객체(클래스)로 바라봄 -> 행동 부여- 객체 간 상호작용과 데이터 전달 중요해짐 3) 객체 - 파이썬에서 타입을 표현하는 방법- 객체(클래스) = 데이터 + 메서드- 클래스에서 정의한 것을 토대로 메모리에 할당된 것- 속성(변수)과 행동(메서드)으로 구성된 모든 것 4) 인스턴스- 예를 들어 가수(클래스), .. 2024. 7. 24. [수업기록] 데이터 구조(2) 240723 파이썬반 1. 비시퀀스 데이터 구조 1) 딕셔너리 메서드-딕셔너리란 : 고유한 항목(key)들의 정렬되지 않은(순서X) 컬렉션D.clear() #딕셔너리 D의 모든 키/값 쌍을 제거 #list 메서드 clear와 동일D.get(key[,default]) #키 k에 연결된 값을 반환(키가 없으면 none 혹은 default값 반환!!!!!!!!!!)# 예제person = {'name': 'Matt', 'age': 25}print(person.get('name')) #Mattprint(person.get('country')) # Noneprint(person.get('country','unknown')) #key만약 없음 unknown 반환해주세요 #unknownprint(person['coun.. 2024. 7. 23. 이전 1 2 3 4 5 6 ··· 15 다음