now is better than never
[easyupclass] 초심자를 위한 빅데이터 분석 및 머신러닝 응용과정(파이썬) 17강 - Quiz 본문
Python/초심자를 위한 빅데이터 분석 및 머신러닝 응용과정
[easyupclass] 초심자를 위한 빅데이터 분석 및 머신러닝 응용과정(파이썬) 17강 - Quiz
김초송 2022. 10. 25. 01:59Quiz 1
- list 안에 list 합 구하기
def sum_ls(ls):
result = 0
for i in ls:
if type(i)==list:
result += sum_ls(i)
else:
result += i
return result
- 정답 코드는 list comprehension으로 한 줄 코드
Quiz 2
- 탐욕 알고리즘
- 매 순간마다 최선의 선택을 하는 것
- 가장 좋다는 것(= 가장 큰 값)을 선택해 나가며 최종적인 해답을 구하는 알고리즘
- 전체는 고려하는 것이 아니라 부분적으로 나누어 문제에 대한 최적의 해답을 구함 - 지불해야 하는 금액이 5,990원일 때, 10, 50, 100, 500원 동전으로 동전 수가 가장 적게 지불하는 방법?
coin = [500, 10, 100, 50]
def least_coin(amount, ls):
coin_ls = []
ls.sort(reverse = True)
for i in ls:
num = amount // i
amount = amount % i
coin_ls.append([i,num])
return coin_ls
least_coin(5990, coin)
- 정답 코드는 총 동전 갯수도 return에 포함
Quiz 3
- 재귀 알고리즘
함수 내에서 연산이 끝날 때 까지 자기 자신을 호출 - loop문을 사용하지 않고 구구단 7단 작성
- 맨 처음에 종료 조건 : return
else: return 자기 자신 = 재귀
# 정답 코드
def multi_table(n):
if n == 0:
return
else:
print("7 x {} = {}".format(10-n,7*(10-n)))
return multi_table(n-1)
- 피보나치 수열
처음 두 수를 1로 두고 앞 두 숫자의 합을 다음 항으로 세운 뒤 지속적으로 두 수의 합을 반복하며 다음 항에 나열하는 수열
-> 재귀 함수로 구현 가능
def fibo_seq(n):
if n<=0:
return 0
elif n==1:
return 1
else:
return fibo_seq(n-1) + fibo_seq(n-2)
for n in range(1, 11):
print(fibo_seq(n))
'Python > 초심자를 위한 빅데이터 분석 및 머신러닝 응용과정' 카테고리의 다른 글
[easyupclass] 초심자를 위한 빅데이터 분석 및 머신러닝 응용과정(파이썬) 19강 - numpy 2 (0) | 2022.10.26 |
---|---|
[easyupclass] 초심자를 위한 빅데이터 분석 및 머신러닝 응용과정(파이썬) 18강 - numpy (0) | 2022.10.25 |
[easyupclass] 초심자를 위한 빅데이터 분석 및 머신러닝 응용과정(파이썬) 16강 - 예외처리 (0) | 2022.10.25 |
[easyupclass] 초심자를 위한 빅데이터 분석 및 머신러닝 응용과정(파이썬) 15강 - 클래스, 상속 2 (0) | 2022.10.24 |
[easyupclass] 초심자를 위한 빅데이터 분석 및 머신러닝 응용과정(파이썬) 13강 ~ 14강 - 클래스, 상속 1 (0) | 2022.10.22 |