프로그래머스 64064 불량 사용자 JAVA

sundays·2022년 10월 8일
0

문제

불량 사용자

풀이

  1. 불량사용자의 유사한 사용자리스트를 따로 생성합니다.
		for (String ban : banned_id) {
            ArrayList<String> temp = new ArrayList<>();
            for (String user : user_id) {
                if (user.length() != ban.length()) {
                    continue;
                } else if (Pattern.matches(ban.replace('*', '.'), user)) {
                    temp.add(user);
                }
            }
            arr.add(temp);
        }

temp는 불량사용자의 패턴과 유사한 리스트가 담기고 arr에는 불량 사용자를 조합할 수 있는 리스트가 생성됩니다.

  1. 조합 리스트를 생성합니다.
	private static void dfs(HashSet<String> s, int depth) {
        if (depth == arr.size()) {
            answer.add(new HashSet<>(s));
            return;
        }

        for (String user : arr.get(depth)) {
            if (s.add(user)) {
                dfs(s, depth + 1);
                s.remove(user);
            }
        }
    }

조합 할 수 있는 리스트를 개수만큼 생성합니다.

전체 코드

전체 코드

profile
develop life

0개의 댓글