Lv 3. 불량사용자 (Java)

2023. 10. 25. 21:12·Algorithm & Data Structures/Programers

 

 

import java.util.Arrays;
import java.util.HashSet;
public class Solution {
    static boolean[] check;
    static HashSet<String> set;
	public static int solution(String[] user_id, String[] banned_id) {
        check = new boolean[user_id.length];
        set = new HashSet<String>();
        
        for(int i=0; i<banned_id.length; i++) 
        	banned_id[i] = banned_id[i].replace('*', '.');
        
        back(0,"",banned_id,user_id);
        
		return set.size();
	}
	
	public static void back(int d, String res, String[] banned_id, String[] user_id) {
		if(d==banned_id.length) {
			String[] arr = res.split(" ");
			Arrays.sort(arr);
			
			String str="";
			for(String s:arr) str+=s;
			set.add(str);
			
			return;
		}
		
		for(int i=0; i<user_id.length; i++) {
			if(check[i] || !user_id[i].matches(banned_id[d])) continue;			
			check[i]=true;
			back(d+1,user_id[i]+" "+res,banned_id,user_id);
			check[i]=false;
		}
	}
}

'Algorithm & Data Structures > Programers' 카테고리의 다른 글

Lv 2. 이진변환 반복하기  (0) 2024.04.09
Lv 2. 올바른 괄호  (0) 2024.04.08
Lv 2. 최댓값과 최소값  (0) 2024.03.05
Lv2. 124 나라의 숫자 (Java)  (0) 2023.10.13
Lv2. 요격 시스템 (Java)  (0) 2023.10.12
'Algorithm & Data Structures/Programers' 카테고리의 다른 글
  • Lv 2. 올바른 괄호
  • Lv 2. 최댓값과 최소값
  • Lv2. 124 나라의 숫자 (Java)
  • Lv2. 요격 시스템 (Java)
Geisha
Geisha
개발 일기
  • Geisha
    Geisha
    Geisha
  • 전체
    오늘
    어제
    • 분류 전체보기 (304) N
      • Algorithm & Data Structures (230) N
        • BOJ (89) N
        • SWEA (1)
        • Programers (136)
        • Data Structures (3)
      • DB (21) N
        • SQL (15) N
        • RDBMS (2)
      • Java (1)
        • Class (1)
      • Spring (5)
        • Spring MVC (1)
        • Annotations (1)
      • CS (36)
        • 운영체제 (13)
        • 네트워크 (5)
      • Tool (6)
        • Git (5)
        • AWS (1)
      • Project (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    이분탐색
    알고리즘
    위상정렬
    Stack
    동적계획법
    algorithm
    BFS
    후위순회
    전위순회
    DynamicProgramming
    구현
    PriorityQueue
    백준
    Dijkstra
    binarySearch
    경로압축
    백트래킹
    baekjoon
    투포인터
    dp
    유니온파인드
    프로그래머스
    unionfind
    Java
    Union-Find
    programmers
    스택
    dfs
    이진탐색
    다익스트라
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
Geisha
Lv 3. 불량사용자 (Java)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.