백준 - 17478 재귀함수가 뭔가요?
문제
17478 재귀함수가 뭔가요?
답
kotlin code
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
fun main() {
q17478()
}
fun q17478() {
val n = readln().toInt()
val qaList = chatBotQ(n)
println("어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.")
for(qa in qaList) {
println(qa)
}
}
fun chatBotQ(n: Int, head: String = ""): List<String> {
return listOf("$head\"재귀함수가 뭔가요?\"") + chatBotA(n, head) + mutableListOf("${head}라고 답변하였지.")
}
fun chatBotA(n: Int, head: String): List<String> {
return when (n) {
0 -> listOf("$head\"재귀함수는 자기 자신을 호출하는 함수라네\"")
else -> listOf(
"$head\"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.",
"${head}마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.",
"${head}그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어.\""
) + chatBotQ(n - 1, head + "____")
}
}
This post is licensed under CC BY 4.0 by the author.