백준 자바 문제풀이 #11478

JHLEE·2022년 12월 7일

서로 다른 부분 문자열의 개수

서로 다른 것의 개수를 요구했기에 Set을 사용하기로 했다.

이중반복문과 substring을 이용해 부분문자열을 set에 담고

그 크기를 출력했다.

package Silver.S3;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;

public class S11478 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = br.readLine();
        br.close();
        HashSet<String> set = new HashSet<>();
        for (int i = 0; i <= str.length(); i++) {
            for (int j = i + 1; j <= str.length(); j++) {
                set.add(str.substring(i, j));
            }
        }

        System.out.println(set.size());
    }
}

문제의 분류가 트리쪽에도 포함되어있어

이 문제를 어떻게 트리로 해결하나 했는데

분류가 잘못되었는지, 아니면 다들 HashSet으로 해결하고 끝낸것인지는 몰라도

트리로 된 풀이는 찾을 수 없었다.

profile
SSAFY 9기 수료생

0개의 댓글