Home 백준 - 17478 재귀함수가 뭔가요?
Post
Cancel

백준 - 17478 재귀함수가 뭔가요?

문제

17478 재귀함수가 뭔가요?

screencaptures

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.

백준 - 6549 히스토그램에서 가장 큰 직사각형 풀이

백준 - 10757 큰 수 A+B