알고리즘/반복문

[백준][KOTLIN][4779] 칸토어 집합

금님은님아부지 2023. 7. 17. 18:59
728x90

https://www.acmicpc.net/problem/4779

 

4779번: 칸토어 집합

칸토어 집합은 0과 1사이의 실수로 이루어진 집합으로, 구간 [0, 1]에서 시작해서 각 구간을 3등분하여 가운데 구간을 반복적으로 제외하는 방식으로 만든다. 전체 집합이 유한이라고 가정하고,

www.acmicpc.net

문제 풀이

1. result 의 초기 값을 "-" 로 설정 한다.

2. N 크기 만큼 아래의 과정을 반복한다.

3. result 값 + (result 의 크기 만큼 빈칸) + reulst 값 을 채운다.

4. result 를 출력한다.

코드

import java.util.Scanner

fun main(args: Array<String>) {
    val sc = Scanner(System.`in`)

    while (sc.hasNext()) {
        val N = sc.nextInt()
        var result = "-"

        repeat(N) {
            result = cantor(result)
        }

        println(result)
    }
}

private fun cantor(str: String): String {
    return str + " ".repeat(str.length) + str
}
728x90