[프로그래머스] 스킬트리 JAVA

AMUD·2022년 8월 25일
0

Algorithm

목록 보기
32/78

문제


문제링크

접근

  • 보자마자 정규식으로 문자열 정리 후, 그 결과로 비교해야 한다고 생각했다
  • 필요 없는 글자를 제외하고는 순서대로 같아야 하니, 같은 인덱스로 구분하였다.

소스 코드

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;
    }
}
profile
210's Velog :: Ambition Makes Us Diligent

0개의 댓글