
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
//set을 사용하는 이유?
//중복제거
Set<String> substrings = new HashSet<>();
for (int i = 0; i < s.length(); i++) {
for (int j = i + 1; j <= s.length(); j++) {
substrings.add(s.substring(i, j));
}
}
System.out.println(substrings.size());
}
}
1.문자열을 어떻게 처리를 할까?
2.해시맵을 이용하여 키 벨류 값을 받아 키값으로 부분집합을 생성하여 해시맵을 생성하여 거기에 집어 넣으려고함
3.너무 복잡함 해시셋으로 선회
4.String의 subString을 이용
5.set은 자동으로 중복제거가 있어서 해시셋에 저장하여 크기를 반환하면 정답
음 뭔가 체계가 잡힌거같은 느낌인데 능숙하게 딱딱 어떤게 좋은 방향인지는 아직 무리인 것 같다.