프로그래머스 Summer/Winter Coding(~2018) 스킬트리
선행 스킬 순서 skill과 유저들이 만든 스킬트리를 담은 배열 skill_trees가 매개변수로 주어질 때, 가능한 스킬트리 개수를 return하는 solution 함수를 작성하는 문제이다.
이전에 신규아이디추천문제에서 replaceAll()메서드에 대해 공부한 것이 기억나 이를 활용하였다.
🪄 replaceAll(String regex, String replacement)
[^s] : 특정 문자(s)를 제외한 문자 치환
String str = new_id.replace("[^a]", "b"); // a를 제외한 문자를 b로 치환
class Solution {
public int solution(String skill, String[] skill_trees) {
int answer = 0;
for (int i = 0; i < skill_trees.length; i++) {
String stree = skill_trees[i].replaceAll("[^" + skill + "]", ""); // skill문자를 제외한 문자 치환
for (int j = 0; j < skill.length() + 1; j++) {
String sub_skill = skill.substring(0, j); // skill을 한 글자씩 잘라
if (stree.equals(sub_skill)) { // 가능한 스킬트리인지 확인
answer++;
break;
}
}
}
return answer;
}
}