백준 11478번: 서로 다른 부분 문자열의 개수
1. 문제 설명

2. 문제 풀이
- HashSet: Set 인터페이스의 구현체로, 내부적으로 HashMap을 사용하기 때문에 HashTable과 유사한 자료구조로 데이터를 저장한다.
- HashSet은 객체 자체를 데이터로 저장하기 때문에 중복을 허용하지 않는다.
- substring( ): java.lang.String 클래스의 substring( ) 메소드는 문자열의 특정 부분을 자르는데 사용
public String substring(int startIndex)
public String substring(int startIndex, int endIndex)
코드
import java.util.*;
public class No_11478 {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
String s= sc.next();
HashSet<String> set = new HashSet<>();
for(int i=0; i<s.length();i++) {
for(int j=i+1;j<=s.length();j++) {
if(!set.contains(s.substring(i, j))){
set.add(s.substring(i,j));
}
}
}
System.out.println(set.size());
}
}
결과
