boj)17478 - 재귀함수가 뭔가요?
2020. 11. 12. 14:05ㆍPS/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도 그렇고 전체적으로 깔끔하게 못맞추겠따,,
- 근데 먼가 문자열다루기 같네
'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 |