상세 컨텐츠

본문 제목

백준 17478 🤔재귀 함수가 뭔가요?

cote/Intermediate

by geminanolja 2025. 1. 6. 18:38

본문

문제 :https://www.acmicpc.net/problem/17478

 

재귀함수를 사용-> 사용하는 위치 잘 생각하기

Base case를 어디에 넣을지 잘 생각하기

" "를 함께 출력할 때는 "\"사용하기

답변의 반복만큼 ____ 같이 출력하기

띄어쓰기 주의  " 문장내에 띄어쓰기가 문제와 다르게 포함되면 틀림" ㅋㅋ 아주 주의!!

 

#include <iostream>
#include <string>
using namespace std;

void recur(int n, string str) 
{
    cout << str << "\"재귀함수가 뭔가요?\"" << endl;
    if (n == 0) {
        cout << str << "\"재귀함수는 자기 자신을 호출하는 함수라네\"" << endl;
        cout << str << "라고 답변하였지." << endl;
        return;
    }
    cout << str << "\"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어." << endl;
    cout << str << "마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지." << endl;
    cout << str << "그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어.\"" << endl;

    // 재귀 호출
    recur(n - 1, str + "____");
    cout << str << "라고 답변하였지." << endl;
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    int n;
    cin >> n;

    cout << "어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다." << endl;
    recur(n, "");

    return 0;
}

관련글 더보기