연습 문제

함수와 재귀 알고리즘 (컴퓨터/정보 고등 정보)

문제에 답하고 제출하면 정답과 풀이를 확인할 수 있습니다. 한 세트는 5문항으로 구성됩니다.

아래의 기본 문제를 먼저 풀어 보세요. 자동 채점 화면은 자바스크립트가 켜진 브라우저에서 이용할 수 있습니다.

문제와 해설로 복습하기

이 단원의 기본 문제 5개입니다. 먼저 스스로 풀고, 힌트와 해설을 열어 풀이 과정을 비교해 보세요. 위의 채점 연습에서는 기본 문제를 다시 풀거나, 지원되는 수학 단원의 변형 문제를 풀 수 있습니다.

기본 문제 1

def f(x): return x+2; y=f(5)에서 y의 값은 무엇인가요?
  1. 7
  2. 5
  3. 2
  4. None
힌트 보기인수 5가 매개변수 x에 전달됩니다.
정답과 풀이 보기
정답: 7
  1. 1. 풀이

    함수 안에서 x=5이므로 반환값은 5+2=7입니다.

기본 문제 2

지역 변수 score를 함수 안에서 새로 대입했을 때 함수 밖의 같은 이름 변수가 보통 유지되는 이유는 무엇인가요?
  1. 함수 호출마다 지역 스코프가 분리되기 때문
  2. 파이썬은 함수 안에서 대입을 허용하지 않기 때문
  3. 모든 변수는 전역으로만 저장되기 때문
  4. 매개변수는 상수이기 때문
힌트 보기이름이 어느 범위에 속하는지 확인하세요.
정답과 풀이 보기
정답: 함수 호출마다 지역 스코프가 분리되기 때문
  1. 1. 풀이

    함수 내부에서 대입된 이름은 별도 선언이 없으면 지역 이름으로 취급되어 바깥 이름을 바꾸지 않습니다.

기본 문제 3

fact(n)=n*fact(n-1) 재귀 함수에서 n=1일 때 1을 반환하도록 둔 조건은 어떤 역할을 하나요?
  1. 기저 조건
  2. 매개변수 기본값
  3. 전역 변수
  4. 메모리 누수
힌트 보기더 작은 입력으로 내려가는 호출을 멈춥니다.
정답과 풀이 보기
정답: 기저 조건
  1. 1. 풀이

    기저 조건이 없으면 재귀 호출이 멈추지 않습니다. n=1에서 결과를 반환해 호출을 끝냅니다.

기본 문제 4

피보나치 재귀에서 fib(5)를 계산할 때 fib(3)이 여러 번 다시 계산되는 문제를 줄이는 방법은 무엇인가요?
  1. 메모이제이션
  2. 전역 변수 삭제
  3. 반복문마다 새 스택 생성
  4. 정렬
힌트 보기이미 계산한 결과를 저장해 재사용하세요.
정답과 풀이 보기
정답: 메모이제이션
  1. 1. 풀이

    메모이제이션은 인수별 반환값을 저장하므로 같은 부분 문제를 반복 계산하지 않습니다.

기본 문제 5

def add(a,b): return a+b에서 add(2,3)을 호출한 결과를 호출 위치에 전달하는 것은 무엇인가요?
  1. 반환값
  2. 지역 변수 이름
  3. 호출 스택 프레임
  4. 매개변수 기본값
힌트 보기print와 return의 차이를 떠올리세요.
정답과 풀이 보기
정답: 반환값
  1. 1. 풀이

    return은 계산 결과를 호출자에게 돌려줍니다. print는 화면 출력만 하고 같은 값을 반환하지 않습니다.

참고 근거와 확인 범위

설명·예제·문제 구성 및 오류 수정 책임: 프리런. 위 자료는 표시한 주제를 확인하거나 더 읽기 위한 근거이며, 외부 기관의 공식 수업이나 감수본을 뜻하지 않습니다.

참고 자료 연결 점검: 2026-11-02. 제작 방식·검수 범위와 수정 기록에서 확인 범위를 볼 수 있습니다. 오류는 상단의 의견 보내기 또는 contact@freelearn.io로 알려 주세요.