[백준] 11478번: 서로 다른 부분 문자열의 개수

앙이🐯·2022년 7월 6일
0

알고리즘

목록 보기
20/22

백준 11478번: 서로 다른 부분 문자열의 개수

1. 문제 설명

2. 문제 풀이

  • HashSet: Set 인터페이스의 구현체로, 내부적으로 HashMap을 사용하기 때문에 HashTable과 유사한 자료구조로 데이터를 저장한다.
  • HashSet은 객체 자체를 데이터로 저장하기 때문에 중복을 허용하지 않는다.
  • substring( ): java.lang.String 클래스의 substring( ) 메소드는 문자열의 특정 부분을 자르는데 사용
//startIndex부터 끝까지 문자열 return
public String substring(int startIndex)

//startIndex부터 endIndex 전까지 문자열 return
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());
		
	}

}
결과

0개의 댓글