유블로그

[프로그래머스] 스킬트리 본문

알고리즘

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

yujeong kang 2021. 1. 10. 16:48

프로그래머스 level2 스킬트리

 

소요시간 : 1시간 11분

 

어우 간단할 줄 알았는데 자꾸 막혀서,,,,

엄청 오래 걸렸다.

 

 

skill 문자들이 나온 인덱스를 저장해놓고 순서대로 나왔다면 answer++ 했다.

내가 짜고 싶었던 방법은 저장하기 전에 아예 순서대로 나왔는지 체크하는 거였는데

그렇게 하려면 함수 하나 빼서 idx 관리해주면 되는 간단한 문젠데

안된거지

이상하군

import java.util.Arrays;

class Solution {
  public int solution(String skill, String[] skill_trees) {
    int answer = 0;
    int[] arr = new int[skill.length()];

    for (int i = 0; i < skill_trees.length; i++) {
      Arrays.fill(arr, Integer.MAX_VALUE);
      for (int j = 0; j < skill.length(); j++) {
        for (int k = 0; k < skill_trees[i].length(); k++) {
          if(skill.charAt(j) == skill_trees[i].charAt(k)) {
            arr[j] = k;
            break;
          }
        }
      }

      boolean success = true;
      for (int j = 0; j < skill.length()-1; j++) {
        if(arr[j] > arr[j+1]) {
          success = false;
          break;
        }
      }
      if(success) answer++;
    }

    return answer;
  }
}