1. 데이터 모델의 이해 데이터 모델링이란? 약속된 표기법에 의해 규칙을 가지고 표기하며 현실세계의 데이터에 대해서 표현하는 것으로 이해할 수 있다. 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법으로 데이터베이스를 구축하기 위한 분석/설계의 과정을 말한다. 모델링의 특징 추상화 현실세계를 일정한 형식에 맞추어 표현 (모형화, 가설적) 단순화 복잡한 현실을 제한된 언어나 표기법을 통해 이해하기 쉽게 함 정확화 애매모호함을 배제하고 누구나 이해가 가능하도록 정확하게 현상을 기술 데이터 모델링의 유의점 중복성 (Duplication) 데이터베이스가 여러 장소에 같은 정보를 저장하는 잘못을 하지 않도록 해야 한다. 비유연성 (Inflexibillity) 데이터 모델이 수시로 변경되면 유지보수의 어려움..
등차수열의 합을 구해보자. 등차수열 이란? 연속하는 두 항의 차이가 모두 일정한 수열을 뜻한다. Q. 1 × 20 + 2 × 19 + 3 × 18 + ⋯ + 20 × 1 = ? A. def summation(n): s = 0 for i in range(1, n+1): s += i * (n+1 - i) return s print(summation(20)) Q. 재귀를 통해 수열의 합 구하기 A. def sumOfArray(array, i): end = len(array) - 1 if end == i : return array[end] else: return array[i] + sumOfArray(array, i+1) print(sumOfArray([1,2,3,4,5,6,7,8,9,10],0)) 이외에도 재..
2차원 배열을 생성하여 마방진을 만들어보자. 마방진(Magic Square) 이란? 일정한 칸 안에 있는 중복을 허용하지 않은 숫자들의 가로, 세로, 대각선의 합이 같은 것을 말한다. 대표적으로 마방진을 활용한 알고리즘 게임으로 스도쿠가 있다. Warming up. 간단하게 이차원 배열을 출력해보자. magicSquare = [ [1, 14, 14, 4], [11, 7, 6, 9], [8, 10, 10, 5], [13, 2, 3, 15] ] for i in range(len(magicSquare)): print(magicSquare[i]) 1. 배열 중 행의 합을 출력하는 함수를 만들자. def checkRow(square): for row in range(len(square)): sum = 0 for ..

Chapter1. 한눈에 보는 머신러닝 1. 분류 정리 2. 실습하기 https://github.com/mafls122/TIL/blob/main/Machine%20Learning/20210513_ML.ipynb mafls122/TIL Today I Learned. Contribute to mafls122/TIL development by creating an account on GitHub. github.com 3. 머신러닝 주요 도전 과제 1. 충분하지 않은 양의 훈련 데이터 -> 대부분의 머신러닝 알고리즘이 잘 작동하려면 데이터가 많아야 한다. 2. 대표성 없는 훈련 데이터 -> 일반화가 잘되려면 원하는 새로운 사례를 훈련 데이터가 잘 대표하는 것이 중요하다. 3. 낮은 품질의 데이터 -> 에러, 이..

질문을 통해 답을 맞추는 놀이를 해보자 Q. 1,000 이하의 자연수 n을 생각할 테니 맞춰보시오. A. # 임의의 수 : 난수 (random 모듈 사용 : randint(a,b)) import random def guess(answer, start, end): print(answer) while start 1. 임의의 난수, 범위 시작 수, 마지막 수를 받는다. 2. 범위의 중간을 계산하여 mid 변수에 넣고 임의의 난수와 비교한다. 3. ..

로마 숫자 표기법 로마 숫자는 위와 같이 표기하며 python dict 형태로 표현하면 아래와 같다. romanDict = {'M':1000, 'D':500, 'C':100, 'L':50, 'X':10, 'V':5, 'I':1} Q. 로마 문자 'MDCLXVI' 를 아라비아 숫자로 변경해보자. A. # 감산표기법(IV=4, IX=9, XL=13, XC=19,,,) 추가 및 함수로 변경 def romatoArabic(roman): arabic = 0 for i in range(len(roman)): val = romanDict[roman[i]] # 총 길이의 마지막을 제외하고 and 현재 roman[i]와 뒤의 roman[i+1]을 비교하여 감산 if (i 감산표기법은 뒤 문자의 숫자가 더 클 경우 (뒤 ..

콜라츠의 추측이란? 1937년 Collatz란 사람에 의해 제기된 추측으로 주어진 수가 짝수이면 2로 나누고, 홀수이면 곱하기3을 한 다음 1을 더하는 작업을 반복하면 모든 수를 1로 만들 수 있다고 제시한 수학적 명제이다. 1. python 코드로 구현 def collatz(n): seq = [n] while (n > 1): # 주어진 수 n이 1보다 클 때까지 반복 if n % 2 == 0 : # 짝수인 경우 n = n // 2 else: # 홀수인 경우 n = 3 * n + 1 seq.append(n) return seq -> seq 리스트에 append 함으로써 콜라츠의 수열을 볼 수 있다. 마지막은 1이 나온다. Q. 콜라츠의 수열 길이가 100인 숫자들 중에서 가장 작은 수는? A. n = 1..
Q. 2021-5-10부터 1000일 후의 날짜는? A. 1. python 코드를 함수화하여 구현 year = 2021 month = 5 day = 10 n = 1000 # 윤년, 그레고리력 근거하여 구함 def leapyear(y): # 4의 배수이며 100의 배수가 아닐 때 and 400의 배수일 때 if ((y%4 == 0 and y%100 !=0) or y % 400 == 0): return True else: return False def invalidDay(y,m,d): num = 31 if m in [4,6,9,11]: # 4,6,9,11월은 30일 num = 30 if m == 2: # 2월은 윤년 판별에 따라 29일 28일로 나눈다. if leapyear(year): num = 29 el..
공배수란? 두 개 이상의 자연수 중에서 공통인 배수 최소공배수(Least Common Multiple)란? 공배수 중 가장 작은수를 말하며, x와 y가 주어졌을 때 두 수를 곱한 수에서 두 수의 최대공약수를 나누면 최소공배수가 된다. import math def lcm(n,m): return (n*m) // math.gcd(n,m) Q. 1에서 10까지의 최소공배수를 구하라. A. import math def lcm(n,m): return (n*m) // math.gcd(n,m) def lcmFromTo(start, end): l = start for i in range(start+1, end+1): l = lcm(l,i) return l # 1에서 10까지 최소공배수 -> 2520 print(lcmFr..
- 파이썬
- OpenCV
- Project
- numpy
- Scikit
- 프로그래머스
- slqd
- 알고리즘
- 딥러닝
- 머신러닝
- 부스트코스
- 자료구조
- cnn
- 경사하강법
- algorithm
- Python
- Pandas
- MongoDB
- Min()
- 주니온
- SQLD
- db
- VGGNet
- 인공지능
- Programmers
- 기계학습
- Max()
- SQL
- sklearn
- Ai
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Total
- Today
- Yesterday