본문으로 바로가기

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

category 알고리즘/프로그래머스 2023. 9. 27. 18:34
728x90

 

1. 문제 설명

 

2. 풀이 방법

정해진 순서대로, 스킬을 배워야 하므로 skill의 각 자리수에 인덱스를 부여해 체크 하기로 하였다.

개인적으로 풀이 방법이 백준 18770과 유사한 것 같다.

 

[작성 코드]

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.util.*;
 
class Solution {
    public int solution(String skill, String[] skill_trees) {
        int answer = 0;
        HashMap<Character,Integer> map=new HashMap<>();
        for(int i=0;i<skill.length();i++){
            map.put(skill.charAt(i),i);
        }
        
        for(int i=0;i<skill_trees.length;i++){
            String s=skill_trees[i];
            int idx=0;
            boolean chk=true;
            for(int j=0;j<s.length();j++){
                if(map.containsKey(s.charAt(j))){
                    if(map.get(s.charAt(j))!=idx){
                        chk=false;
                        break;
                    }
                    else {
                        idx++;
                    }
                }
            }
            if(chk) answer++;
        }
        
        return answer;
    }
}
 
 

 

 

728x90