본문 바로가기

분류 전체보기198

30. 모듈 만들기 혼공파 90강 1. 모듈 만들기 # 모듈 # 파일 또는 폴더를 활성해서 구성 import 모듈이름 # 현재 실행하고 있는 파일이 있는 위치에서 "모듈이름"이라는 # 파일 또는 폴더가 있는지 확인 # (존재하지 않는다면) 환경 변수에 등록되어 있는 위치에서 확인 # 따라서 "모듈이름과 같은 이름의 파일"을 만들어서 사용하면 오류가 발생하게 된다. import sys import math print(sys.path) # 여기에서 나온 경로를 찾아가면 모듈들이 있는 파일 또는 폴더들을 볼 수 있다. 폴더를 하나 만들어서 보면서 모듈을 만들어 보면.. main.py / hellomodule.py를 각각 만들어서 main.py에서 hellomodule을 import해 온다. #####################.. 2023. 7. 5.
29. 모듈 기본 문법 및 기본 내장 모듈 혼공파 87 ~ 89강 1. 모듈 기본 문법 # 수많은 함수/변수들을 카테고리로 구분하기 위해서 ## 클래스 : 객체라는 주어로 묶는 방법 ## 모듈 : 관심사를 기반으로 묶는 방법 # 수학과 관련된 대상 -> math 모듈 # 랜덤 처리 관련 대상 -> random 모듈 # 시스템 관련 대상 -> sys 모듈 # 모듈을 읽어 들이는 방법 3가지 모두 알아야함 # 1. import 모듈 # "모듈"을 식별자로 읽어들임 import math print(math.sin(1)) # 0.8414709848078965 print(math.cos(1)) # 0.5403023058681398 print(math.tan(0)) # 0.0 print(math.ceil(3.5)) # 4 print(math.floor(3... 2023. 7. 1.
28. 컴포지션으로 스택(Stack)과 큐(Queue) 구현 혼공파 86강 1. 스택 # 스택(Stack) # 선입후출(First in Last out FILO) 구조를 갖는 자료 구조 # 후입선출(Last in First out LIFO) 구조를 갖는 자료 구조 # 푸시(Push): 스택 안에 자료를 넣는 행위 # 팝(Pop): 스택에서 자료를 꺼내는 행위 class Stack: def __init__(self): self.__list = [] def push(self, value): self.__list.append(value) def pop(self): output = self.__list[-1] del self.__list[-1] return output stack = Stack() stack.push(10) # [10] stack.push(20) # [1.. 2023. 6. 30.
27. 상속(Inheritance)과 컴포지션(Composition) 혼공파 83~85강 1. 상속 기본 # 초보자 단계에서는 프레임워크에서 만들어진 부모 클래스가 강제하는 상속을 사용한 자식 클래스만 이용!! class Circle: def __init__(self, 반지름): self.파이 = 3.14 self.반지름 = 반지름 def 넓이(self): return self.반지름 * self.반지름 * self.파이 def 출력(self): print("=" * 10) print("*" * 10) print("=" * 10) print(f"원의 반지름: {self.반지름}") print(f"넓이 : {self.넓이()}") print("=" * 10) print("*" * 10) print("=" * 10) class Squre: def __init__(self, 길.. 2023. 6. 30.
1. 자료구조 기초 0. 자료구조란 자료(데이터)를 어디에 어떻게 관리(검색, 순회(iterate), 저장, 삭제, 변경) 할지 자료를 담는 추상적인 틀 데이터의 형태와 쓰임에 가장 적합한 자료구조를 사용해야 컴퓨터의 자원을 효율적으로 사용 가능하다. 각 자료구조의 특징 / 장점 / 한계를 파악해야한다. * 알고리즘 : 어떤 문제를 풀기 위한 동작의 절차 Input 값을 통해 Output의 결과를 내는 것 1. 빅오 표기법 (자료구조, 알고리즘을 비교한다) 자료구조 또는 알고리즘이 문제를 해결하기 위한 가장 상한(최악)의 시간을 기준으로 한다. - 가장 큰 영향력이 있는 항만 표시 - 상수항은 무시 2. 시간 복잡도(데이터 처리에 소요되는 시간) O(1) : 입력 데이터의 크기와 상관없이 항상 일정한 시간이 걸리는 알고리즘.. 2023. 6. 29.
0. 자료 구조 시작 자료 구조 공부 이유 - Cybersecurity 석사 과정 시작 전 필수 학부 과목 공부 CS 학부과정을 전혀 듣지 않았었기 때문에 준비해야하는 것이 무엇인지 찾아보다가, 전공자들이 공통적으로 가장 필요하다고 이야기하는 자료구조 먼저 공부하기로 했다. 다행히 예전에 돈 벌때 끊어 둔 패스트 캠퍼스의 컴퓨터 공학 전공 필수 강의가 있어서 이걸로 해본다. - 개발자들 코딩 테스트 혹은 면접 시 자료구조, 알고리즘이 필수 그만큼 중요하다는 뜻? 개발할 건 아니지만 대충 왜 이렇게 코드가 구현 됐는지 이해할 때 필요할 것 같다. 프로그램 성능과 직결되는 것이 자료구조 / 학부생들 첫번째 탈주가 가장 많이 일어나는 과목 Java를 이용해서 실제 구현하는 실습까지 진행한다. 2023. 6. 29.