Programmers_level2_스킬트리
in Sidemenu / Programmers
level2_스킬트리
import java.util.HashSet;
import java.util.Set;
public class Solution_스킬트리 {
public static void main(String[] args) throws Exception {
String skill = "CBD";
String[] skill_trees = { "BACDE", "CBADF", "AECB", "BDA" };
System.out.println(solution(skill, skill_trees));
}
static int solution(String skill, String[] skill_trees) {
int answer = 0;
Set<Character> skill_set = new HashSet<>();
Set<String> skill_tree_set = new HashSet<>();
String skill_tree = "";
for (int i = 0; i < skill.length(); i++) {
skill_set.add(skill.charAt(i));
skill_tree += skill.charAt(i);
skill_tree_set.add(skill_tree);
}
for (int i = 0; i < skill_trees.length; i++) {
String temp_skill = skill_trees[i];
String compare = "";
for (int j = 0; j < temp_skill.length(); j++) {
char get_skill = temp_skill.charAt(j);
if (skill_set.contains(get_skill)) {
compare += get_skill;
}
}
if (skill_tree_set.contains(compare) || compare.equals("")) {
answer++;
}
}
return answer;
}
}