Kiki Devlog

[실 5][C++] 백준 17478번 재귀함수가 뭔가요? 본문

Coding Test/백준

[실 5][C++] 백준 17478번 재귀함수가 뭔가요?

kimkiki 2022. 8. 15. 23:26
728x90

문제

17478번: 재귀함수가 뭔가요? (acmicpc.net)

 

후기

백준 다시 공부해야지! 오랜만에 푼 재귀함순데 난이도가 높지 않아서 딱 재귀함수 오랜만에 푸는 나에게 좋았던 문제. 금방 풀었다. 그리고 출력할 글이 많은 문제는 내가 타자치지 말고 무조건 문제에서 복붙해서 쓰자. 그래서 계속 오답 나왔음. 

 

 

내 코드

#include <iostream>

using namespace std;

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

int main() {
	int num;
	cin >> num;
	cout << "어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다." << endl;
	rec(0, num);
	return 0;
}
Comments