‡ CODING TEST STUDY ‡/º 백준

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

Trudy | 송연 2023. 9. 21. 00:33

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

 

17478번: 재귀함수가 뭔가요?

평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대

www.acmicpc.net


c++ 문자열 일부 지우기(erase) (tistory.com)

#include <string>

//string에서 지우고 싶은 부분의 (시작 인덱스, 지울 단어의 개수)
s.erase(0,7);
 

c++ 문자열 일부 지우기(erase)

#include #include using namespace std; int main() { string sentence = "i hate coding"; sentence.erase(0, 7); cout

popawaw.tistory.com

[C++] 문자열 추가 및 삽입 (tistory.com)

string은 + 연산자로 간편하게 뒤에 붙여줄 수 있다
 

[C++] 문자열 추가 및 삽입

들어가기 앞서, C++ String 은 3가지 방법(+ 연산자, append, insert)을 사용해, 원본 문자열에 새로운 문자열을 추가 및 삽입할 수 있습니다. + 연산자 #include #include using namespace std; int main(void){ string str1 =

wooono.tistory.com

C++ - 특수문자 사용 및 출력 방법 (velog.io)

" (큰 따옴표) 를 출력하고 싶으면 \"
' (작은 따옴표)를 출력하고 싶으면 \'

를 대신해서 사용
 

C++ - 특수문자 사용 및 출력 방법

C++에서 특수문자 사용 및 출력할 때 문법을 설명하겠습니다. 특수문자는 ' " , \\ 등이 있습니다.'(작은 따옴표)를 출력하고 싶으면 \\'를 "(큰 따옴표)를 출력하고 싶으면 \\"를 사용하면 됩니다.예

velog.io


위 내용을 이용하여 작성한 최종 코드는

#include <iostream>
#include <string>

using namespace std;

int t;

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

int main()
{
    cin >> t;
    
    cout << "어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.\n";
    
    res(0);

}

아 진짜

출력 잘되길래 제출했는데 틀려서

틀린 이유 한참을 고민했는 데

_ 로 안하고 - 써서 틀린거였다

이 화남을...

아세요?