본문 바로가기

재귀4

[Python] 파이썬으로 스도쿠 문제 풀기 갑자기 스도쿠??대학을 졸업하고 1년 동안 취준 끝에 판교에 있는 회사에 AI 엔지니어로 입사하게 되었다.서울에서 통근을 하며 1시간 동안 무엇을 할까 하다가 무슨 바람이 불었는지 요즘 스도쿠에 빠졌다.지하철에 있는 시간 동안 쉬운 문제는 5분, 어려운 문제는 10~15분 문제를 풀게 되는데출, 퇴근하면서 약 8문제 정도 푸는 것 같다.지루한 출, 퇴근길이 그나마 시간을 빠르게 해주는 것 같아 나름 괜찮다. 참고로 내가 스도쿠를 푸는 사이트는 이곳이다.https://sudoku.com/ko 지금 무료 스도쿠 퍼즐을 즐겨보세요!스도쿠의 목표는 9×9 격자를 숫자로 채워, 각 행과 열과 3×3구역이 1에서 9까지의 숫자 모두를 포함하도록 하는 것입니다. 게임을 시작하면, 9×9 격자의 몇몇 칸은 채워져 있습.. 2024. 6. 9.
[Python] 재귀 함수 - Return Value. 문제풀이 (홀수짝수 합, 최대최소, 점화식, 최소공배수) 1. 홀수끼리 짝수끼리 - 정수 n을 입력 - n이 홀수면 1~n까지 홀수의 합을 출력 - n이 짝수면 2~n까지 짝수의 합을 출력 def odd_or_even_sum(n): if n==1: return 1 if n==2: return 2 return odd_or_even_sum(n-2)+n n=int(input()) print(odd_or_even_sum(n)) 결과 >> 7 16 >> 10 30 - 홀수일 경우 1부터 n까지의 홀수 합이므로 n+(1부터 n-2까지의 합)으로 나타낼 수 있다. - n이 2씩 감소하여, n이 1일 경우 1부터 1까지 홀수 합이므로 1을 반환하고 이는 홀수일 때 종료 조건이 된다. - 짝수일 경우 2부터 n까지의 홀수 합이므로 n+(2부터 n-2까지의 합)으로 나타낼 수 .. 2023. 1. 23.
[Python] - 재귀 함수 : 값을 반환. return value. factorial. 각 자리 숫자합, 점화식 및 수열 1. 값을 반환하는 재귀함수 - factorial - 1부터 n까지의 곱을 반환하는 factorial(n)을 재귀함수로 구현하기 - factorial(n)은 n * (n-1) * (n-2) *... * 3 * 2 * 1이다. - factorial(n-1)은 (n-1) * (n-2) *... * 3 * 2 * 1이다. - factorial(n) = factorial(n-1) * n이다. def factorial(n): return factorial(n-1)*n - 하지만 재귀함수는 종료조건이 없으면 계속 호출을 반복한다. - 값을 반환하는 재귀함수의 종료조건은 계산 없이도 바로 결과를 알 수 있는 경우로 설정한다. - factorial 함수에서 1! 은 1이라고 당연히 알고 있기 때문에 이를 종료조건으로 .. 2023. 1. 22.
[Python] 재귀함수 - 값이 반환되지 않을 때, 종료 조건, 출력 위치, 대칭 문제 1) 재귀함수 n개의 줄에 걸쳐 별을 출력하는 문제 n=5일 경우 * * * * * - print_star(n) 함수 정의 : 1~n번째 줄까지 별을 출력한다. - print_star(n-1)을 먼저 수행하여 1~n-1번째 줄까지 별을 출력 후, n번째 줄을 출력을 정의한다. - 이러한 방식으로 해당 함수를 구현하는데 동일한 함수를 다시 이용하게 되는 것을 재귀함수라고 한다. def print_star(n): print_star(n-1) print('*') ● 문제점 - print_star(5) 함수가 print_star(4)를 부르게 되고 4는 3을, 3은 2를,..., 0은 -1을, -1은 -2를,... 무한대로 부르게 된다. - 이러한 문제를 해결하기 위해 재귀 함수는 종료 조건을 적절하게 설정해야.. 2023. 1. 20.