컴퓨터/백준 알고리즘

백준 알고리즘 - 4779번: 칸토어 집합 [Java] 실패

이상한 나그네 2023. 10. 18. 00:08

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

 

4779번: 칸토어 집합

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

www.acmicpc.net

1. 코드

import java.util.*;
public class Main {
    static char[] arr;
	public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNextInt()) {
            repeat(sc.nextInt());
            System.out.println();
        }
    }
    public static void repeat(int n) {
        if(n == 0) {
            System.out.print('-');
            return;
        }

        repeat(n - 1);

        String s = " ";
        System.out.print(s.repeat((int)Math.pow(3, n - 1)));

        repeat(n - 1);
    }
}

참고한 글을 토대로 코드를 작성했는데 재귀에 대해서 온전히 이해하지 못했다. 재귀를 이용한 문제 풀이에 대해서 알아봐겠다.

참고 글

https://excited-hyun.tistory.com/106

 

[백준 4779 - C++] 칸토어 집합 : 분할 정복

www.acmicpc.net/problem/4779 4779번: 칸토어 집합 칸토어 집합은 0과 1사이의 실수로 이루어진 집합으로, 구간 [0, 1]에서 시작해서 각 구간을 3등분하여 가운데 구간을 반복적으로 제외하는 방식으로 만

excited-hyun.tistory.com