📗 12일차 공부 내용 요약

[ 기초수학과 파이썬 ]
1.순열 : 순열에 대해 알아보고, 파이썬으로 구현해보았다.
2.조합 : 조합에 대해 알아보고, 파이썬으로 구현해보았다.
3.확률 : 조합을 활용해 확률을 구해보고, 파이썬으로 구현해보았다.
4.기초수학 연습문제 풀이 : 지금까지 배운 기초수학에 대한 파이썬 연습문제를 풀었다.
📖 12일차 공부 내용 자세히

1. 순열
- 순열은 n개에서 r개를 택하여 나열하는 경우의 수이다.
- 순열은 순서를 고려해서 택한다

순열 : nPr 구하기
numN = int(input('numN 입력 : '))
numR = int(input('numR 입력 : '))
result = 1
for n in range(numN, (numN-numR), -1):
print('n : {}'.format(n))
result *= n
print('result : {}'.format(result))
2. 조합
- 조합은 n개에서 r개를 택하는 경우의 수이다
- 조합은 순서에 상관없이 택한다

조합 : nCr 구하기
numN = int(input('numN 입력: '))
numR = int(input('numR 입력: '))
resultP = 1 #순열의 결과
resultR = 1 #R!의 결과
resultC = 1 #조합의 결과
for n in range(numN, (numN - numR), -1):
print('n : {}'.format(n))
resultP *= n
print('resultP : {}'.format(resultP))
for n in range(numR, 0, -1):
print('n : {}'.format(n))
resultR *= n
print('resultR : {}'.format(resultR))
resultC = int(resultP / resultR)
print('resultC: {}'.format(resultC))
3.확률
- 확률은 모든 사건에서 특정 사건이 일어날 수 있는 수를 나타낸 것이다.
#박스에 꽝이 적힌 종이가 4장 있고, 선물이 적힌 종이가 3장 있을 때
#파이썬을 이용해서 꽝 2장과 선물 1장을 뽑는 확률을 출력하자
numN = int(input('numN 입력: '))
numR = int(input('numR 입력: '))
resultP = 1 #순열의 결과
resultR = 1 #R!의 결과
resultC = 1 #조합의 결과
for n in range(numN, (numN - numR), -1):
print('n : {}'.format(n))
resultP *= n
print('resultP : {}'.format(resultP))
for n in range(numR, 0, -1):
print('n : {}'.format(n))
resultR *= n
print('resultR : {}'.format(resultR))
resultC = int(resultP / resultR)
print('resultC: {}'.format(resultC))
4.기초수학 연습문제 풀이
다음 수열을 보고, 수열의 합이 최초 100을 초과하는 n번째 항의 값과 n을 출력하는 프로그램을 만들어보자
1/1 , 1/2, 2/1, 1/3, 2/2, 3/1, 1/4, 2/3, 3/2, 4/1, 1/5, 2/4, ...
flag = True
n = 1
nCnt = 1; searchNC = 0; searchNP = 0
sumN = 0
while flag:
for i in range(1, (n + 1)):
if i == n:
print('{}/{} '.format(i, (n - i + 1)), end='')
else:
print('{}/{}, '.format(i, (n - i + 1)), end='')
sumN += i / (n - i + 1)
nCnt += 1
if (sumN > 100):
searchNC = i
searchNP = n - i + 1
flag = False
break
print()
n += 1
print('수열의 합이 최초 100을 초과하는 항, 값, 합: {}항, {}/{}, {}'.format(nCnt, searchNC, searchNP, sumN))
➰ 12일차 후기

기초수학을 통해 배운 개념들을 math모듈을 통해 손쉽게 활용할 수 있겠지만,
지금 이렇게 작성해보는 코드들이 나중에 도움이 되겠지?! 라는 생각을 가지려 해봤던 시간이었다.
쉬운 코드들도 잇었지만, 머리를 써야하는 코드들도 있어서 시간이 지나면 가물가물 해질 것 같으니 나중에 또 살펴봐야겠다.
※본 내용은 제로베이스 데이터 취업 스쿨에서 제공하는 학습 내용에 기반합니다.
'제로베이스 데이터 스쿨 > 일일 스터디 노트' 카테고리의 다른 글
14일차 스터디노트 / 파이썬 자료구조, 튜플 자료형과 딕셔너리 자료형의 활용 (1) | 2023.01.18 |
---|---|
13일차 스터디노트 / 파이썬 자료구조, 리스트 자료형의 활용 (1) | 2023.01.17 |
11일차 스터디노트 / 기초수학 등비수열, 시그마, 계차수열, 피보나치수열, 군수열 + 파이썬/ 제로베이스 데이터취업스쿨 (1) | 2023.01.15 |
10일차 스터디노트 / 기초수학 약수와 소수, 최소공배수와 최소공약수, 진법, 등차수열 + 파이썬 / 제로베이스 데이터 취업스쿨 (1) | 2023.01.14 |
9일차 스터디노트 / 파이썬 예외, 텍스트 파일 연습문제 풀이 / 제로베이스 데이터 취업스쿨 (0) | 2023.01.14 |