본문 바로가기

재귀함수

(5)
[재귀함수] 프로그래머스 L2 '괄호 변환' (Python) https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 균형 잡힌 괄호 문자열과 올바른 괄호 문자열을 확인하는 함수를 각각 생성한다. 결괏값을 도출할 수 있는 조건이 문제에 자세히 쓰여 있으므로 하나씩 코드를 짠다. #1차시도 - 테스트 2,4,6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25 def solution(p): answer = '' w="" for i in p..
[재귀함수] 백준 10872번 '팩토리얼' (Python) https://www.acmicpc.net/problem/10872 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net N! = 1*2*3*...(N-1)*N n이 1 또는 0일 때 1을 반환함 for문 보다 효율적인 재귀 함수 사용 ''' 10 0 ''' n = int(input()) def fac(n): if n==1 or n==0: return 1 return n * fac(n-1) print(fac(n))
[재귀함수] 백준 10829번 '이진수 변환' (Python) https://www.acmicpc.net/problem/10829 10829번: 이진수 변환 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 100,000,000,000,000) www.acmicpc.net 10진수를 2진수로 바꿔주는 bin() 메서드 사용 bin() 메서드는 앞에 0b가 붙으므로 replace() 메서드로 제거 ''' 53 ''' n = int(input()) k = bin(n) print(k.replace("0b","")) 재귀 함수로도 풀어보기 10진수에서 2진수로 바꿀 때 지수 말고 몫, 나머지 활용하기
[알고리즘] 재귀함수 - (팩토리얼(Factorial) / 피보나치 수열(Fibonacci)) 재귀 함수란? 메서드/함수의 내부에서 자기 자신의 메서드/함수를 다시 호출하는 함수 Fractal 구조. Sierpinski Triangle 재귀 함수의 특징 재귀 함수 초반에 등장하는 조건문이 종료 조건 역할을 수행 재귀 함수는 내부적으로 스택 자료구조와 동일함 재귀 함수는 최대 1000번까지 가능 코드의 간결화 및 변수 사용 최소화를 위해 사용함 재귀 함수의 예 [인덱스의 모든 합] 성분들의 합으로 표현할 수 있는 숫자의 경우의 수는? #8 → 부분집합의 개수 2en → 3,5,8이 선택이 되느냐 안되느냐니까 각 수마다 2가지 경우가 있다 → 단, 3+5 = 8이므로 중복됨 #반복문 data = [3,5,8] result = set() for i in range(2): for j in range(2)..
[진법변환] 백준 5692번 '팩토리얼 진법' (Python) https://www.acmicpc.net/problem/5692 5692번: 팩토리얼 진법 상근이는 보통 사람들이 사는 것과는 조금 다른 삶을 사는 사람이다. 상근이는 이런 사람들의 시선이 부담스럽기 때문에, 자신만의 숫자를 개발하기로 했다. 바로 그 이름은 팩토리얼 진법이다. www.acmicpc.net 팩토리얼 공식(n! = 1*2*3*...*(n-1)*n)을 알아야 풀 수 있음 Ex) 719 ==> (7 * 팩토리얼(3)) + (1 * 팩토리얼(2)) + 9 * 팩토리얼(1)) 입력이 몇 줄로 이루어지는지 모르므로 무한루프로 입력을 받고 계산하고 계산이 끝나면 바로 출력한다. '0'을 받으면 루프를 종료한다. '''입력 예제 719 1 15 110 102 0 ''' import sys def fa..

LIST