코린이의 소소한 공부노트

[백준 온라인 저지] 11478. 서로 다른 부분 문자열의 개수 본문

코딩테스트 풀이/JAVA

[백준 온라인 저지] 11478. 서로 다른 부분 문자열의 개수

무지맘 2023. 5. 2. 20:19

1. 입력

- 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다.

 

2. 출력

- 첫째 줄에 S의 서로 다른 부분 문자열의 개수를 출력한다.

- 부분 문자열은 S에서 연속된 일부분을 말하며, 길이가 1보다 크거나 같아야 한다.

 

3. 코드

import java.util.*;
class Main{
    public static void main(String[] args){
        String s = new Scanner(System.in).next();
        HashSet<String> set = new HashSet<>();
        for(int i=1 ; i<=s.length() ; i++)
            for(int j=0 ; j<=s.length()-i ; j++)
                set.add(s.substring(j,j+i));
        System.out.print(set.size());
    }
}