https://www.acmicpc.net/problem/11478
풀이 과정
- 이중 반복문을 이용해 substring으로 자른 문자열을 HashSet에 저장
- HashSet의 size 출력
String substring()
- 파라미터 2개는 시작 지점과 끝지점을 전달받아 시작지점부터 끝지점 -1까지 리턴
문자열변수명.substring(시작 지점, 끝지점)
- 시작지점 ~ (끝지점-1)까지 자름
String[ ] split()
- 특정 문자열을 파라미터로 받아서 해당 문자열을 기준으로 문자열을 잘라 String 배열에 넣어줌
String[] strarr = 문자열변수명.split(기준문자)
정답
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.HashSet;
public class Main {
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
HashSet<String> set = new HashSet<String>();
String s = br.readLine();
for(int i=0; i<s.length(); i++)
{
for(int j=i+1; j<=s.length(); j++)
{
String sub = s.substring(i,j);
set.add(sub);
}
}
bw.write(set.size()+"");
bw.flush();
bw.close();
}
}
'Java > 백준' 카테고리의 다른 글
[JAVA] 백준 2164 카드 2 (0) | 2024.02.14 |
---|---|
[JAVA] 백준 18258 큐 2 (0) | 2024.02.14 |
[JAVA] 백준 1269 대칭 차집합 (1) | 2024.02.13 |
[JAVA] 백준 13909 창문 닫기 (0) | 2024.02.13 |
[JAVA] 백준 1764 듣보잡 (0) | 2024.02.13 |