boj)17478 - 재귀함수가 뭔가요?

2020. 11. 12. 14:05PS/boj

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import java.util.Scanner;
 
public class boj_17478 {
    static StringBuilder sb = new StringBuilder();
    static String base = "어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.";
    static String str = "\"재귀함수가 뭔가요?\"";
    static String str2 = "\"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.";
    static String str3 = "마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.";
    static String str4 = "그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어.\"";
    static String ans = "\"재귀함수는 자기 자신을 호출하는 함수라네\"";
    static String ans2 = "라고 답변하였지.";
    static String bar = "____";
    static String q = str + "\n" + str2 + "\n" + str3 + "\n" + str4 + "\n";
    static int N;
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        N = sc.nextInt();
 
        sb.append(base + "\n");
        sb.append(q);
 
        func(1);
        System.out.println(sb.toString());
    }
 
    static void func(int n) {
        String nBar = "";
        for (int i = 0; i < n; i++) {
            nBar += bar;
        }
 
        if (n < N) {
            sb.append(nBar + str + "\n");
            sb.append(nBar + str2 + "\n");
            sb.append(nBar + str3 + "\n");
            sb.append(nBar + str4 + "\n");
 
            func(n + 1);
        } else {
            sb.append(nBar + str + "\n");
            sb.append(nBar + ans + "\n");
 
            for (int i = n; i >= 0; i--) {
                for (int j = 0; j < i; j++) {
                    sb.append(bar);
                }
                sb.append(ans2 + "\n");
            }
        }
 
    }
 
}
 
cs

 

- 재귀

 

- base condition도 그렇고 전체적으로 깔끔하게 못맞추겠따,,

- 근데 먼가 문자열다루기 같네

 

 

 

 


www.acmicpc.net/problem/17478

'PS > boj' 카테고리의 다른 글

boj)1992 - 쿼드트리  (0) 2020.11.13
boj)1780 - 종이의 개수  (0) 2020.11.13
boj)1074 - Z  (0) 2020.11.12
boj)11729 - 하노이 탑 이동 순서  (0) 2020.11.11
boj)2589 - 보물섬  (0) 2020.11.11