반응형
🔺 문제
11478번: 서로 다른 부분 문자열의 개수
첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다.
www.acmicpc.net
🔺 코드
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String S = br.readLine();
int len = S.length();
Set<String> set = new HashSet<>();
for(int i = 0 ; i < len ; i++) {
for(int j = i + 1 ; j <= len ; j++) {
String str = S.substring(i, j);
set.add(str);
}
}
// Iterator iter = set.iterator();
// while(iter.hasNext()) {
// System.out.println(iter.next());
// }
System.out.println(set.size());
}
}
✅ 해결 아이디어
- substring으로 문자를 자르고, 그 값을 Set에 값 넣기 (Set은 중복X)
💥 유의사항
- j의 범위 : (i+1) ~ len까지
💬 느낀 점
쉬운 문제인데 이상하게 낑낑대느라 시간 생각보다 많이 걸림,,,
문자열 자르라고 하면 쫄기부터 하는 것 같은... ㅠ
(참고)
✔ HashSet 값 출력 = Iterator
[Java] 자바 HashSet 사용법 & 예제 총정리
HashSet이란? HashSet은 Set 인터페이스의 구현 클래스입니다. 그렇기에 Set의 성질을 그대로 상속받습니다. Set은 객체를 중복해서 저장할 수 없고 하나의 null 값만 저장할 수 있습니다. 또한 저장 순
coding-factory.tistory.com
반응형
'코테 > 백준' 카테고리의 다른 글
[백준/JAVA] 10828번: 스택 (0) | 2023.04.10 |
---|---|
[백준/JAVA] 12891번: DNA 비밀번호 (0) | 2023.04.10 |
[백준/JAVA] 1269번: 대칭 차집합 (0) | 2023.04.10 |
[백준/JAVA] 1764번: 듣보잡 (0) | 2023.04.10 |
[백준/JAVA] 10816번: 숫자 카드 2 (0) | 2023.04.10 |