Algorithm/Programmers
programmers_스킬트리_java
owoowo
2023. 4. 10. 18:31
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/49993#
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.*;
class Solution {
public int solution(String skill, String[] skill_trees) {
int answer = 0;
// 스킬 트리 순서 dict
Map<Character, Integer> dict = new HashMap<>();
int skillLength = skill.length();
for(int i = 0; i<skillLength; i++){
dict.put(skill.charAt(i), i);
}
// 스킬 트리 확인
int skill_treesLength = skill_trees.length;
for(int i = 0; i<skill_treesLength; i++){
int before = -1; // 스킬트리는 0부터 시작
int skillTreeLength = skill_trees[i].length();
boolean isSuc = true;
for(int j = 0; j<skillTreeLength; j++){
char now = skill_trees[i].charAt(j); // 현재 스킬
if(dict.containsKey(now)){
if(dict.get(now) == before+1){
before = dict.get(now);
}else if(dict.get(now) > before){
isSuc = false;
break;
}
}
}
if(isSuc){
answer++;
}
}
return answer;
}
}