소인수란? 어떤 자연수의 인수(약수)중에서 소수인 것 소인수분해란? 1보다 큰 자연수를 소인수만의 곱으로 나타낸 것 ex) 30 -> 2 x 3 x 5 1. n까지의 소수를 찾은 후 소수를 나누어서 소인수 분해하기 # 소수 판별 def isPrime(num): for i in range(2, math.floor(math.sqrt(num))+1): if num % i == 0 : return False return True # 소수 찾기 def findPrimes(n): primes = [] for i in range(2, n+1): # for i in range(2, (n//2)+1) 로 개선 가능 if isPrime(i): primes.append(i) return primes print('소수 리스트..
소수란? 1보다 큰 자연수 중에 약수가 1과 자기자신뿐인 수를 말하며 즉 양의 약수를 두 개만 가지는 자연수이다. ex) 2, 3, 5, 7, 11 ,, 1. 알고리즘 코드 구현 def isPrime(num): for i in range(2, num): if num % i == 0 : return False return True 2. math 내장함수를 사용하여 구현 # math 내장함수 사용 import math def isPrime2(num): for i in range(2, math.floor(math.sqrt(num))+1): if num % i == 0 : return False return True Q. 1보다 크고 100보다 작은 소수는 모두 몇 개 있는가? A. 25 개 ( 위의 사용자 함..
약수(Common Divisor)란? 나누었을 때 나머지가 0인 수 -> n % d == 0 최대공약수(Greatest Common Divisor)란? 두 개 이상의 자연수(또는 정수)가 가지는 공통의 약수 중 최댓값 Q1. 공책 20개, 연필 12개를 학생들에게 똑같이 나누어 주는데 최대 몇 명의 학생들에게 나누어줄 수 있는가? A. 4명 1. math 내장함수 사용 import math print(math.gcd(20,12)) 2. 유클리드 호제법 사용 # 1. 최대 공약수 구하기 note = 20 pen = 12 # 유클리드 호제법 사용 while note: pen, note = note, pen % note print(pen) 유클리드 호제법이란? 최대공약수를 구하는 알고리즘으로, 유클리드에 의해..
개요 : 사용자의 발표 영상을 언어/비언어적 표현을 분석 후 발표 능력 측정 및 피드백을 제공하는 웹 어플리케이션. 다양한 지표(자세, 어투, 속도, 발음, 표정 등)를 통해 분석을 진행하여 객관적이고 구체적인 측정 결과를 제공 측정 결과를 기반으로 피드백을 제공하여 사용자의 발표 능력 향상에 기여 팀명 : Goofanaka 팀원 : 손기훈 김동건 유주아 김은찬 개발 기간 :2021년 01월 19일 ~ 2021년 4월 28일 개발언어 : python 모델 구현 : OpenPose, OpenCV, Mediapipe, Tensorflow2.0,Praat-Parselmouth, Amazon Transcribe, Numpy, Pandas, KoNLPy 데이터베이스 : MongoDB Atlas 웹 구현 : Dja..
동적 프로그래밍이란? 하나의 큰 문제를 여러 개의 공통되는 작은 문제로 나누어 정답을 찾은 뒤, 작은 문제의 정답들을 결합하여 알고리즘을 푸는 과정을 말한다. 메모이제이션이란? 컴퓨터 프로그램이 동일한 계산을 반복해야 할 때, 이전에 계산한 값을 메모리에 저장함으로써 동일한 계산의 반복 수행을 제거하여 프로그램 실행 속도를 빠르게 하는 기술이며 동적 계획법의 핵심이 되는 기술이다. Example # 피보나치 수열(Bottom up) def fib(n): fiblist = [ 1, 1 ] for i in range(2, n+1): fiblist.append(fiblist[i-2] + fiblist[i-1] return fiblist[-1] # 마지막 값 반환 # 피보나치 수열(Top down) def fi..
개요 : 인공지능을 활용한 사용자 프레젠테이션의 역량 강화 시스템, 사용자의 발표 영상 중 비언어적 표현인 자세 분석모델, 눈 깜박임 분석 모델, 표정 변화율 분석 모델 개발 팀명 : Goofanaka 팀원 : 손기훈 김동건 유주아 김은찬 개발 기간 :2021년 03월 02일 ~ 2021년 3월 16일 개발언어 : python 모델 구현 : OpenPose, OpenCV, Mediapipe, Tensorflow2.0 분석 및 시각화 : Numpy, Pandas, Matplotlib, Plotpy Git, Github 담당 역할 : 페이스(눈 깜박임 및 표정변화율) 엔진 개발 깃허브 : https://github.com/Goofanaka/presentation_advice Goofanaka/presenta..
재귀함수란? 메소드 혹은 함수의 내부에서 자기 자신을 다시 호출하는 함수이다. 재귀함수를 통해 코드를 보다 간결하게 작성할 수 있으며 변수 사용을 최소화할 수 있다. 모든 재귀함수는 반복문을 통해 동일한 기능을 구현할 수 있다. 함수를 연속적으로 호출할 경우 메모리 내부 스택 프레임에 쌓이며 대표적으로 DFS를 간결하게 작성할 수 있다. def recur_fun(cnt): print('{}번째 재귀함수 호출'.format(cnt)) if cnt 더보기 1번째 재귀함수 호출 2번째 재귀함수 호출 3번째 재귀함수 호출 4번째 재귀함수 호출 5번째 재귀함수 호출 6번째 재귀함수 호출 문제 ) 주어진 data 리스트 요소들의 합으로 표현할 수 있는 숫자의 경우의 수는? 1. 반복문을 통한 완전 탐색 data =..
1. DFS ( Depth First Search ) _ 깊이 우선 탐색이란? 하나의 경우의 수에 대하여 모든 경우의 수를 조사하면서 해를 찾는 과정으로 깊은 부분을 우선적으로 탐색하는 알고리즘이다. 스택(후입선출)의 자료구조 또는 재귀함수를 활용한다. 위 그래프의 경우 1 -> 2 -> 7 -> 6 -> 8 -> 3 -> 4 -> 5 순서대로 탐색하며 코드로 구현하면 다음과 같다. def dfs(graph, v, visited): visited[v] = True # 현재 노드를 방문 처리 print(v, end=' ') for i in graph[v]: # 현재 노드와 연결된 다른 노드를 재귀적으로 방문 if not visited[i]: dfs(graph, i, visited) graph = [ [ ]..
탐색이란? 많은 데이터 속에서 원하는 데이터를 찾는 것 탐색의 종류 완전탐색 이분탐색 깊이우선 탐색 너비우선 탐색 문자열 탐색 KMP BM 1. 완전탐색 - 브루트 포스라고도 불리며 컴퓨터의 빠른 계산 성능을 활용하여 가능한 모든 경우의 수를 탐색, 효율성 관점에서 최악의 방법 1-1. 반복문 def solution(trump): for i in range(len(trump)): if trump[i] == 8 : return i return -1 1-2. 재귀함수(동적계획법, 백트래킹, 탐욕법) - 무한루프에 빠질 수 있음에 주의! def solution(trump, loc): if trump[loc] == 8 : return loc else : return solution(trump, loc+1) 2...
- 자료구조
- Programmers
- VGGNet
- 주니온
- slqd
- 프로그래머스
- 인공지능
- Ai
- SQLD
- Min()
- algorithm
- 경사하강법
- 딥러닝
- MongoDB
- sklearn
- Max()
- 기계학습
- Project
- db
- numpy
- SQL
- cnn
- Scikit
- 알고리즘
- 부스트코스
- 파이썬
- Pandas
- 머신러닝
- OpenCV
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- Total
- Today
- Yesterday