728x90

 

import java.io.*;
import java.util.*;
public class Main {
    static BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); //선언
    static String s;

    static Set<String> set = new HashSet<>();

    public static void main(String[] args) throws IOException
    {
        s = bf.readLine();
        for (int i = 0; i < s.length(); i++) {
            dfs(i,i,String.valueOf(s.charAt(i)), "", "");
        }
        System.out.println(set.size());
    }

    public static void dfs(int left, int right, String newWay, String cur, String result)
    {
        result = result + cur + newWay;
        boolean canGoLeft = left - 1 < 0 ? false:true;
        boolean canGoRight = right + 1 > s.length()-1 ? false:true;
        if( !canGoLeft&&!canGoRight)
        {
            //System.out.println(result);
            set.add(result);

            return;
        }
        if(canGoLeft)
        {
            String news = String.valueOf(s.charAt(left-1));
            dfs(left - 1,right, news, cur + newWay, result);
        }
        if(canGoRight)
        {
            String news = String.valueOf(s.charAt(right+1));
            dfs(left,right+1, news,cur + newWay,result);
        }


    }
}
728x90

'JAVA' 카테고리의 다른 글

JAVA TIL - 04 Java.base 모듈 - java.lang  (0) 2024.03.15
JAVA TIL - 03 JVM  (0) 2024.03.12
JAVA TIL - 02 abstract 추상 메서드/클래스  (0) 2024.03.12
JAVA TIL - 01 다형성  (0) 2024.03.12

+ Recent posts