분류 전체보기

    [제로베이스 데이터 사이언스] 2. 수강 후기(1-2개월 차)

    [제로베이스 데이터 사이언스] 2. 수강 후기(1-2개월 차)

    0. 들어가기 앞서 제로베이스 데이터 사이언스 스쿨 3기에 들어온지 어느덧 두 달이 지났는데요! 짧게나마 후기를 풀어보겠습니다.! 1. 사전 설문 및 오리엔테이션 1) 사전설문 및 슬랙 참여 먼저 강의 시작 1-2주 전에 메일로 사전 설문을 보내줍니다. 사전 설문은 간단하게 지원 동기 등을 물어보는데요! 스터디 조원 구성에 활용하신다고 합니다! 저는 자주 쓰던 메일이 아닌 카카오 계정이 메일로 등록되는 바람에 메일을 너무 늦게 봤습니다.(잘 확인하시길ㅠ) 슬랙 참여 경로도 메일로 전달받기 때문에 미리미리 메일을 확인하여 참여하시길 바랍니다! 2) 오리엔테이션 오리엔테이션은 미리 녹화된 영상으로 진행되었습니다. 덕분에 이해가 안되는 부분이라던지, 교육과정이 생각이 안날 때마다 볼 수 있어서 좋았습니다!(특..

    [파이썬 기초] 아스키 코드 최대값 찾기

    [파이썬 기초] 아스키 코드 최대값 찾기

    🔍 문제 무작위로 받은 10개의 아스키 코드 중 최대값 찾기 🗝 사용함수 ord() : 특정한 한 문자를 아스키 코드로 변환 chr() : 아스키 코드 값을 문자로 변환(10, 16진수 사용 가능) 🖥 실행 import random as rd class MaxAl: def __init__(self,cs): self.chars = cs self.maxChar = 0 def getMax(self): self.maxChar = self.chars[0] for i in self.chars: if ord(self.maxChar) < ord(i): self.maxChar = i return self.maxChar array = [] for i in range(9): t = rd.randint(1,128) array..

    [파이썬 기초] 알고리즘 - 최대값, 최소값

    [파이썬 기초] 알고리즘 - 최대값, 최소값

    🔍 알고리즘 사용 이유 - 해당API가 존재하지만, 작동원리를 알아보기 위함. 🗝 최대값 - 자료 구조에서 가장 큰 값을 찾는다. import random as rd class MaxAl: def __init__(self, array): self.arr = array self.maxNum = 0 def getMax(self): self.maxNum = self.arr[0] for i in self.arr: if self.maxNum < i: self.maxNum = i return self.maxNum array = rd.sample(range(1,100), 10) print(array) maxInt = MaxAl(array) result = maxInt.getMax() print(f'max = {re..

    [정렬] 1부터 100사이 난수 정렬(선택 정렬)

    [정렬] 1부터 100사이 난수 정렬(선택 정렬)

    🔍 문제 1부터 100사이의 난수 10개를 오름차순, 내림차순으로 정렬(선택 정렬 사용) 🗝 사용함수 🖥 실행 1) 모듈 class SelectionSort: def __init__(self, arr, asc=True): self.arr = arr self.isAsc = asc def setAsc(self, flag): self.isAsc = flag def setSelect(self): for i in range(len(self.arr)-1): minIdx = i if self.isAsc: for j in range(i+1, len(self.arr)): if self.arr[minIdx] > self.arr[j]: minIdx = j self.arr[i], self.arr[minIdx] = self.a..

    [정렬] 1부터 100사이 난수 정렬(삽입 정렬)

    [정렬] 1부터 100사이 난수 정렬(삽입 정렬)

    🔍 문제 1부터 100까지 난수 10개를 뽑아 정렬하고 최대값과 최소값을 출력(삽입 정렬 사용) 🗝 사용함수 🖥 실행 1) 클래스 class SortNum: def __init__(self, arr, asc=True): self.array = arr self.isAsc = asc def isAscending(self, flag): self.isAsc = flag def setSort(self): for i1 in range(1, len(self.array)): i2 = i1 -1 cNum = self.array[i1] if self.isAsc: while self.array[i2] > cNum and i2 >= 0: self.array[i2+1] = self.array[i2] i2 -= 1 else: w..

    [정렬] 키순대로 배열

    [정렬] 키순대로 배열

    🔍 문제 175-180cm 사이의 키를 가진 학생들을 버블 정렬을 통해 오름차순으로 정렬 🗝 사용함수 copy.copy() : 깊은 복사와 얕은 복사를 가능하게 함. 🖥 실행 1) 실행파일 import random as rm import sortBubble as sb student = [] for i in range(20): student.append(rm.randint(170,185)) print(f'원본데이터 : {student}') result = sb.bubbleSort(student,deepCopy=True) print(f'보존된 원본데이터 : {student}') #False면 원본데이터로 작업 print(f'결과데이터 : {student}') 2) 클래스 import copy def bubb..

    [순위] 중간, 기말 점수 격차 확인

    [순위] 중간, 기말 점수 격차 확인

    🔍 문제 학급 학생 20명의 중간, 기말 점수 순위를 구하고, 두 시험의 편차를 출력하는 프로그램 생성 🖥 실행 1) 모듈 class RankDeviation: def __init__(self, mss, ess): self.midStuScos = mss self.endStuScos = ess self.midRanks = [0 for i in range(len(mss))] self.endRanks = [0 for i in range(len(ess))] self.rankDeviation = [0 for i in range(len(mss))] def setRank(self, ss, rs): for idx, sco1 in enumerate(ss): for sco2 in ss: if sco1 < sco2: rs[..

    [파이썬 기초] 알고리즘 - 정렬

    [파이썬 기초] 알고리즘 - 정렬

    🔍 정렬 알고리즘 - 파이썬에는 내장 정렬 메소드 sort 가 있지만, 코딩을 하다보면 내장 메소드로만은 해결 불가능한 경우가 있다. - 정렬 알고리즘은 시간 복잡도에 따라 성능을 좌우되며 성능이 좋을수록 구현 방법이 어려워진다. 1) O(n²)의 시간 복잡도 (정렬할 자료의 수가 늘어나면 제곱에 비례해서 증가) 버블 정렬(Bubble Sort) 선택 정렬(Selection Sort) 삽입 정렬(Insertion Sort) 2) O(n log n)의 시간 복잡도 병합 정렬(Merge Sort) 퀵 정렬(Quick Sort) 🗝 버블 정렬(Bubble Sort) - 처음부터 끝까지 인접하는 인덱스의 값을 순차저그로 비교하면서, 큰 숫자를 가장 끝으로 옮김. - 거품 정렬은 안정 정렬이며, 개인적으로 구현 ..