• Home
  • About
    • Moon photo

      Moon

      개발자는 자고 싶다.

    • Learn More
    • Twitter
    • Facebook
    • Instagram
    • Github
    • Steam
  • Posts
    • All Posts
    • All Tags
  • Projects

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

05 Jun 2022

Reading time ~1 minute

문제

17478 재귀함수가 뭔가요?

screencaptures

답

kotlin code

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 + "____")
    }
}


baekjoonkotlin코틀린백준실버구현재귀 Share Tweet +1