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

sundays·2023년 6월 16일
0

문제

서로 다른 부분 문자열의 개수

풀이

이 문제는 DFS로 풀라고 문제에서 대놓고 나오죠. 간만에 DFS 입니다
처음에는 ArrayList에 문자열을 저장해서 이 문자열의 리스트 개수를 리턴했는데요, 이렇게 하면 contains가 연산하는 속도가 느리기 때문에 사용하면 안되고, 자료형의 특징을 이용하면 됩니다. 중복이 불가능한 String 리스트 자료형인 Set을 사용 하면 비교문을 쓰지않고 리스트에 넣어서 더 빠르답니다.

	private static void dfs(String str, int depth) {
        arr.add(str);

        if (depth >= s.length() - 1) {
            return;
        }

        dfs(str + s.charAt(depth + 1), depth + 1);
    }

전체 코드

전체 코드

profile
develop life

0개의 댓글

Powered by GraphCDN, the GraphQL CDN