🐣 알고리즘 삐약/💻 백준 삐약
106 삐약 : 백준 11478 | 서로다른 부분 문자열의 개수 [바킹독| HASH |JAVA]
우주수첩
2024. 10. 31. 16:52
728x90
https://www.acmicpc.net/problem/11478
package BKD_0x15_Hash;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
public class BOJ_11478 {
public static void main(String[] args) throws IOException {
HashSet<String> set = new HashSet<>();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
for(int i=0;i<input.length();i++){
for(int j=i+1;j<=input.length();j++){
set.add(input.substring(i,j));
}
}
System.out.println(set.size());
}
}
- substring을 사용하여 추출할 수 있는 모든 부분문자열을 추출한다.
- HashSet을 사용하여 중복되는 부분 문자열을 제거한다.
set.add(input.substring(i,j));
str.substring(start,end)
// -> str[start~ end-1] 까지의 문자열 반환
// 모두 소문자임 ㅇㅅㅇ..나중에 쓸 때 헷갈리지 마셈
728x90