[제로베이스 데이터취업스쿨 15기] Part. 2 수학 스터디노트 -9(5.15.)

DaHye CHOI·2023년 5월 15일
0

>⛹️‍♀️ 제로베이스 데이터취업스쿨 15기 스터디노트 9(5.15.)

🗂️ 오늘(5.15.) 수강한 분량

기초수학 5 ~ 기초수학 문제풀이 3

🗂️ 기초수학 5 ~ 7 핵심 내용 정리

  • 시그마(∑) : 수열의 합을 나타내는 기호
    • k = 1, n일 때 : 1부터 n까지의 합
  • 계차수열 : 어떤 수열의 인접하는 두 항의 차로 이루어진 또 다른 수열
    • 계차수열을 이용하여 수열 an의 일반항을 구할 수 있음(an = n^2 - 1)
  • 피보나치 수열 : 세번째 항= 두번째 항 + 첫번째 항
  • 팩토리얼 함수 : 1부터 양의 정수 n까지의 정수를 모두 곱한 것
    • 단, 0! = 1
  • 군 수열 : 여러개의 항을 묶었을 때 규칙성을 가지는 수열(군을 이룸)
  • 순열 : n개에서 r개를 택하여 나열하는 경우의 수
    • 순열은 팩토리얼을 이용해서 나타낼 수 있음(n!/(n-r)!)
  • 조합 : n개에서 r개를 택하는 경우의 수
    • nCr = nPr/r! = n!/r!(n-r)! (단, 0<r<=n)
  • 확률 : 모든 사건(=표본 공간)에서 특정 사건(=사건)이 일어날 수 있는 수
    • 조합을 통해서 확률을 알아낼 수 있음

🗂️ 기초수학 문제풀이 1 ~ 3 ; 한번 더 생각해볼것 & 개념 부족한 것 정리

  • 약수와 소수, 소인수분해
    • 약수 : 나누어 떨어지는 수 / 소수 : 1 외에 약수가 자기 자신뿐인 수 / 소인수 : 약수이면서 소수인 수
      rNum % num == 0 소수는 2부터 범위 설정 할 것, rNum /= n
  • 최대공약수 & 최소공배수
    • 최대공약수 구한 후 공약수 2개 곱한것을 최대공약수로 곱하기
    • for n in range(1,min(rNum1, rNum2) + 1)):
      	if rNum1 % n == 0 and rNum2 % n == 0:
        	print(f'공약수 : {n}')
            maxNum =n
        print(f'최대공약수 : {maxNum}')
      minNum = (rNum1 * rNum2) // maxNum #정수로 표현하기 위해 //사용
      print(f'최소공배수 : {minNum}')
  • 진법 : 2진법(bin), 8진법(oct), 10진법(int), 16진법(hex)
  • 등차수열
    • 등차수열 원리 이용 혹은 공식 사용
      • 등차수열 공식 : an = a1 + (n-1)d / sn = n(a1 + an) / 2
      • valueN = inputA1 + (inputN -1) * inputD
        sumN = inputN * (inputA1 + valueN) / 2      
  • 등비수열
    • 등비수열 원리 이용 혹은 공식 사용
      • 등비수열 공식 : an = a1 r^(n-1) / sn = a1 (1 - r^n) / (1 - r)
      • valueN = inputA1 * (inputR ** (inputN - 1))
        sumN = inputA1 * (1 - (inputR ** inputN)) / (1 - inputR)
  • 계차수열 : 계차 관련 식으로 나타낸 다음 해당 값에 입력 값을 입력할 것
  • 피보나치순열
    • 두번째 항, 첫번째 항을 표기 필수
  • 팩토리얼
    • 반복문/재귀함수 두가지 경우 이용 가능
      return n * facFun(n-1)
      → 다시 본인의 값을 출력하고 그 값에 -1을 차감한 값을 만들어야 함 ex) n =7 , 7 * 6
  • 군수열 : flag함수 이용
    • for i in range(1, (n +1)):
      	print('{}/{}'.format(i, (n - i +1))
        sum += i / (n -i +1)
  • 순열 : 앞선 내용의 팩토리얼을 먼저 구하고, 뒤에 잇는 팩토리얼을 구해서 두 수를 곱하기
  • 조합
    • 순열 → 팩토리얼 → 조합순으로 도출하기
      • for n in range(numN, (numN - numR), -1): 순열
         for n in range(numR, 0, -1): 팩토리얼
         resultC = int(resultP /resultR) : 조합
  • 확률
    • 순열 → 팩토리얼 → 조합순으로 도출 후 함수(전체의 경우, event1, event2)로 만들어 표기
      • probability = (event1 * event2) /sample
        print('probability : {}%'.format(probability * 100))

👩‍🚀 스터디 감정 노트

순열, 조합 중요한 건 알겠는데,,알겠기만 한 느낌...여전히 멀리하고 싶다 🥹🥹🥹
파이썬으로 이용해서 보니까 하나하나 차근차근 나가는게 맞는데까지 하고 그저 웃음만 ㅋㅋㅋㅋㅋ

[이미지 출처 : 미리캔버스]

profile
데이터가 궁금한 비전공자의 데이터스터디🫠

0개의 댓글