일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- is not allowed to impersonate hive (state=08S01
- 이더리움 #ethereum
- hadoop safe mode leave
- hive beeline
- Safe mode is ON
- mac hadoop
- 카카오 2020 코테
- 도커 교과서
- 카카오 2020 코딩테스트
- hive beeline 설정
- mac hadoop 설정
- 자소서 빨리 쓰는 법
- Could not open client transport with JDBC Uri: jdbc:hive2://localhost:10000
- 기업 조사 빨리 하는 법
- 자소서 너무 오래 걸림
- 이더리움
- mac hadoop 3
- 카카오 자물쇠와 열쇠
- mac hive 3
- code=0)
- hive beeline 에러
- 백준 18428
- mac hadoop 설치
- mac hive
- 자소서 빨리
- Failed to connect to localhost:10000
- Resources are low on NN
- hadoop safe mode
- 자소서 시간 줄이기
- hive beeline 실행
Archives
- Today
- Total
A seeker after truth
재귀함수 패캠 강의 공부 내용 본문
아래 두 코드는 흔하고 유명한 알고리즘 문제 2개를 재귀로 풀어본 예다.
1. palindrome
def palindrome(string):
if len(strung) <= 1:
return True
if string[0] == string[-1]:
return palindrome(string[1:-1])
else:
return False
2. 리스트의 모든 원소의 합 구하기
def sum_list(data):
if len(data) <= 1:
return data[0]
return data[0] + sum_list(data[1:])
[재귀 예제: ACM-ICPC > Regionals > Asia > Korea > Asia Regional - Taejon 2001]
문제: 정수 4를 1, 2, 3의 조합으로 나타내는 방법은 다음과 같이 총 7가지가 있음 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 정수 n이 입력으로 주어졌을 때, n을 1, 2, 3의 합으로 나타낼 수 있는 방법의 수를 구하시오
힌트: 정수 n을 만들 수 있는 경우의 수를 리턴하는 함수를 f(n) 이라고 하면,
f(n)은 f(n-1) + f(n-2) + f(n-3) 과 동일하다는 패턴 찾기
강의자료에 있는 문제 분석 내용을 반드시!!!!!!! 볼 것. 고1 수열 문제에서 봤다는 것을 기억할 것이다.
코드:
def func(data):
if data == 1:
return 1
elif data == 2:
return 2
elif data == 3:
return 4
return func(data -1) + func(data - 2) + func(data - 3)
'Algorithm > 이론' 카테고리의 다른 글
알고리즘 분석 방법 (0) | 2019.10.31 |
---|---|
재귀함수를 쓰는 이유(only link) (0) | 2019.10.17 |
그리디 알고리즘 - 최단 경로, 배낭문제 (0) | 2019.10.11 |
[python] 동적 계획법과 분할정복 - 피보나치, 이진 탐색, 빠른 정렬, 병합 정렬 (업뎃중) (0) | 2019.10.10 |
단순하게 문제풀기 - 버블정렬, 순차탐색 (0) | 2019.10.10 |