-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy path07_17478.js
95 lines (82 loc) · 5.11 KB
/
07_17478.js
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
// 평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다.
// 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대학교가 자신과 맞는가에 대한 고민을 항상 해왔다.
// 중앙대학교와 자신의 길이 맞지 않다고 생각한 JH 교수님은 결국 중앙대학교를 떠나기로 결정하였다.
// 떠나기 전까지도 제자들을 생각하셨던 JH 교수님은 재귀함수가 무엇인지 물어보는 학생들을 위한 작은 선물로 자동 응답 챗봇을 준비하기로 했다.
// JH 교수님이 만들 챗봇의 응답을 출력하는 프로그램을 만들어보자.
// 입력
// 교수님이 출력을 원하는 재귀 횟수 N(1 ≤ N ≤ 50)이 주어진다.
// 출력
// 출력 예시를 보고 재귀 횟수에 따른 챗봇의 응답을 출력한다.
// 예제 입력 1
// 2
// 예제 출력 1
// 어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.
// "재귀함수가 뭔가요?"
// "잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.
// 마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.
// 그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어."
// ____"재귀함수가 뭔가요?"
// ____"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.
// ____마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.
// ____그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어."
// ________"재귀함수가 뭔가요?"
// ________"재귀함수는 자기 자신을 호출하는 함수라네"
// ________라고 답변하였지.
// ____라고 답변하였지.
// 라고 답변하였지.
// 예제 입력 2
// 4
// 예제 출력 2
// 어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.
// "재귀함수가 뭔가요?"
// "잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.
// 마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.
// 그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어."
// ____"재귀함수가 뭔가요?"
// ____"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.
// ____마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.
// ____그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어."
// ________"재귀함수가 뭔가요?"
// ________"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.
// ________마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.
// ________그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어."
// ____________"재귀함수가 뭔가요?"
// ____________"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.
// ____________마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.
// ____________그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어."
// ________________"재귀함수가 뭔가요?"
// ________________"재귀함수는 자기 자신을 호출하는 함수라네"
// ________________라고 답변하였지.
// ____________라고 답변하였지.
// ________라고 답변하였지.
// ____라고 답변하였지.
// 라고 답변하였지.
const recursive = (num) => {
if (num === 0) {
return [
'"재귀함수가 뭔가요?"',
'"재귀함수는 자기 자신을 호출하는 함수라네"',
"라고 답변하였지.",
];
}
const prev = recursive(num - 1);
let ret = [
'"재귀함수가 뭔가요?"',
'"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.',
"마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.",
'그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어."',
];
for (let line of prev) {
ret.push("____" + line);
}
ret.push("라고 답변하였지.");
return ret;
};
const jh = () => {
const inputs = require("fs").readFileSync(0, "utf-8").toString();
let stack = [];
stack.push("어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.");
stack.push(...recursive(inputs));
console.log(stack.join("\n"));
};
jh();