컴굥일지
[BOJ/백준 17478][C++] 재귀함수는 뭔가요? 본문
반응형
문제
https://www.acmicpc.net/problem/17478
문제 내용
숫자를 입력받아서, 위와 같이 재귀적인 응답을 출력하는 문제이다.
문제 풀이
재귀 함수를 만들어 풀면 된다.
다만, 이 문제에서 주의해야 할 점은, ----가 아닌 ____(언더바)라는 것이며, 공백도 주의해야 한다.
따옴표 또한 출력해야 하기 때문에 \" 같은 방식으로 작성해야 한다.
마지막으로, 함수를 만들 때 return type을 int로 하면 백준에서 런타임 에러가 발생했다.
void로 하는 것을 추천한다.
코드
#include <iostream>
using namespace std;
string str="";
void recur(int n) {
string line = str;
if (n==0) {
cout << line << "\"재귀함수가 뭔가요?\"\n";
cout << line << "\"재귀함수는 자기 자신을 호출하는 함수라네\"\n";
cout << line << "라고 답변하였지.\n";
return ;
}
cout << line << "\"재귀함수가 뭔가요?\"\n";
cout << line << "\"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.\n";
cout << line << "마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.\n";
cout << line << "그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어.\"\n";
str += "____";
recur(n - 1);
cout << line << "라고 답변하였지.\n";
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
//입력
int n;
cin >> n;
//결과 출력
cout << "어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.\n";
recur(n);
}
반응형
'알고리즘 > 코테 문제' 카테고리의 다른 글
[BOJ/백준 2751][C++] 수 정렬하기 2 (0) | 2022.05.02 |
---|---|
[BOJ/백준 1436][C++] 영화감독 숌 (0) | 2022.05.01 |
[BOJ/백준 10872][C++] 팩토리얼 (0) | 2022.04.29 |
[BOJ/백준 7568][C++] 덩치 (0) | 2022.04.28 |
[BOJ/백준 1541][C++] 잃어버린 괄호 (0) | 2022.04.23 |
Comments