목표

  1. 틀리는 것을 두려워하지 않게 되는 것목표입니다.
    문제들에 정답을 원하지 않습니다. 틀려도 됩니다. 에러 경고가 떠도 괜찮습니다.
  2. 초급 수준 문제부터 여러분의 일상을 프로그래밍으로 채우고, 습관을 바꿔주세요.
  3. 내가 모르고 이해하지 못하는 기술에 자동완성 사용하실 생각이면, 개발자 외 다른 직업 추천드립니다. 앞으로 최소 2년 이상, 길게 보세요. 지금 당장 못하는게 정상입니다. 다시 한 번 말씀드리지만 정답을 원하지 않습니다.
  4. 랜덤 값, 로컬 시간 가져오는 함수 외, 외장함수 사용 금지.
  5. 순서도를 작성해 주세요.
    머리속에 논리 구조와 순서를 그리는 연습을 해주세요. diagrams.net Link
  6. 모든 문제를 분석 → 설계 → 구현 과정으로 풀어주세요.

 

 

연습문제

 

 

예제51

함수 이용해서 두 수 중 큰 수 찾기

 

두 수를 입력받고, 그 중 큰 수를 찾아 반환한다.

반환하는 로직은 func 함수를 정희하고 사용해서 두 수 중 큰 수를 찾는다.

# 실행결과
# 정수: 7
# 정수: 3
# 7

# 로직 참고
# a, b 중 큰 수를 반환하는 func 함수를 정의한다.
# a 값을 반환한다.
# b 값을 반환한다.
# func 함수를 호출하고, func 함수에서 반환된 값을 r에 저장한다.

 

 

 

 


 

예제52

함수 이용해서 세 수 중 큰 수 찾기

 

세 수 중 큰 수를 찾아 반환하는 func 함수를 이용해서 세 수 중 큰 수를 찾는다.

 

# 실행결과
# 정수: 4
# 정수: 7
# 정수: 5
# 7

# 로직 참고
# a, b, c 중 가장 큰 수를 반환하는 func 함수를 정의한다.
# func 함수를 호출하고, func 함수에서 반환된 값을 r에 저장한다.

 

 

 

 


 

예제53

함수 이용해서 1부터 10까지의 약수 구하기

 

임의의 수에 대한 약수 구하는 func 함수를 이용해서 1부터 10까지의 수에 대한 약수를 구한다.

# 실행결과
# 1 : 1 
# 2 : 1 2 
# 3 : 1 3 
# 4 : 1 2 4 
# 5 : 1 5 
# 6 : 1 2 3 6 
# 7 : 1 7 
# 8 : 1 2 4 8 
# 9 : 1 3 9 
# 10 : 1 2 5 10 
# 7

# 로직 참고
# a의 약수를 구하는 func 함수를 정의한다.
# func 함수를 호출한다. 이 때 i 값을 전달한다.

 

 

 

 

 



예제54

재귀함수 이용해서 1부터 입력 받은 수까지의 합 구하기

 

재귀함수를 사용하는 방법을 알아보겠습니다.

 

1부터 3까지의 합은 다음과 같습니다.

3 + 2 + 1

 

이것을 다음과 같이 나타낼 수 있습다.

3 + 1부터 2까지의 합

 

여기서 ‘1부터 3까지의 합’을 함수 호출 형식으로 다음과 같이 나타낼 수 있다.

sum(3)

 

sum(3)은 다음과 같은 의미를 지닌다

3 + sum(2)

 

3을 a로 일반화 시키면 다음과 같은데 1부터 a까지의 합을 의미한다

sum(a) = a + sum(a - 1)

 

그런데 1부터 1까지의 합은 1이므로 a가 1인 경우에는 1이 된다

sum(1) = 1

 

이런 내용을 포함해서 다시 정리하면 다음과 같다.

sum(a) = 1 (n ≤ 1)

            = a + sum(a - 1) (그 외)

 

이런 개념을 이용해서 1부터 임의의 수까지의 합을 구하는 sum 재귀함수를 만들어서 1부 터 입력 받은 수까지의 합을 구한다.

 

# 실행결과
# 정수: 10
# 55

 

 

 

 

 



예제55

재귀함수 이용해서 피보나치수열 구하기

 

피보나치수열의 a번째 항은 다음과 같다.

fibo(a) = 1 (a≤2)

           = fibo(a-1) + fibo(a-2) (그 외)

 

이런 개념을 이용해서 피보나치수열의 임의의 항을 구하는 fibo 재귀함수를 만들어서 입력 받은 위치에 대한 피보나치수를 구한다.

 

# 실행결과
# 정수: 7
# 13

# 로직 참고
# 피보나치수열의 a번째 항을 구하는 fibo 함수를 정의한다.
# fibo 함수를 재귀호출한다. 
# fibo 함수를 호출하고, fibo 함수에서 반환된 값을 result에 저장한다.

 

 

 

 

 


 

과제

 

 

과제 35

함수를 이용해서 두 수중 작은 수를 찾는 순서도와 파이썬 프로그램을 작성 하여라.

 

# 실행결과
# 정수: 100
# 정수: 60
# 60

 

 

 

 

 


 

과제 36

소수 판별하는 함수를 이용해서 2부터 10까지의 수에 대해 소수인지 아닌지를 출력하는 순서도와 파이썬 프로그램을 성하여라.

 

# 실행결과
# 2 : 소수임
# 3 : 소수임
# 4 : 소수아님
# 5 : 소수임
# 6 : 소수아님
# 7 : 소수임
# 8 : 소수아님
# 9 : 소수아님
# 10 : 소수아님

 

 

 

 


 

과제 37

계승을 구하는 재귀함수를 이용해서 입력 받은 수에 대한 계승을 구하는 순서도와 파이썬 프로그램을 작성하여라.

 

# 실행결과
# 정수: 10
# 3628800