스킬트리
URL :https://programmers.co.kr/learn/courses/30/lessons/49993#
선행되는 스킬을 순서대로 배워야 하는 순위에 대한 처리로 스킬 순서가 있는 skill string을 입력받아서
스킬 트리가 존재하는 데이터와 비교 후 가능한지에 대한 여부를 판단한다.
public int Solution(string skill, string[] skill_trees) {
int answer = 0;
int treeLength = skill_trees.Length;
for(int i=0; i<treeLength; i++){
bool flag = true;
char[] skills = skill_trees[i].ToCharArray();
int cnt=0;
int skillsLen = skills.Length;
for(int j=0; j<skills.Length; j++){
if(cnt < skill.IndexOf(skills[j])){
flag = false;
break;
}else if(cnt == skill.IndexOf(skills[j])){
cnt++;
}
}
if(flag){
answer++;
}
}
return answer;
}
핵심은 string indexof로 인덱스를 가지고 와서 바로 전의 스킬 인덱스보다 큰지 여부를 판단하는 것이다.
★★☆☆☆
반응형
댓글