문제
문제링크
접근
- 보자마자 정규식으로 문자열 정리 후, 그 결과로 비교해야 한다고 생각했다
- 필요 없는 글자를 제외하고는 순서대로 같아야 하니, 같은 인덱스로 구분하였다.
소스 코드
class Main {
public static void main(String[] args) throws Exception {
String skill = "BAC";
String[] skill_trees = { "BACDE", "CBADF", "AECB", "BDAC", "TCEA" };
Solution sol = new Solution();
System.out.println("result : " + sol.solution(skill, skill_trees));
}
}
class Solution {
public int solution(String skill, String[] skill_trees) {
int answer = 0;
for (String str : skill_trees) {
String filteredStr = str.replaceAll("[^" + skill + "]", "");
int len = filteredStr.length();
boolean isPossible = true;
for (int i = 0; i < len; i++) {
if (skill.charAt(i) != filteredStr.charAt(i)) {
isPossible = false;
break;
}
}
if (isPossible)
answer++;
}
return answer;
}
}