https://programmers.co.kr/learn/courses/30/lessons/49993
말로 설명하는 것보다 코드로 보는게 더 이해하기 편할거 같다.
그래도 조금 설명하자면 유저의 스킬 트리 중 선행 관련 스킬에 해당 되면 indexOf를 통해서 위치를 구하여서 선후를 구하면 된다.
// 프로그래머스 스킬트리 문제
class SkillTree {
public int solution(String skill, String[] skill_trees) {
int answer = 0;
for (String skillTree : skill_trees) {
int learningIdx = 0;
boolean isAble = true;
for (char curSkill : skillTree.toCharArray()) {
int skillIdx = skill.indexOf(curSkill);
if (skillIdx == -1){
continue;
}
if (skillIdx != learningIdx) {
isAble = false;
break;
}
learningIdx++;
}
if (isAble)
answer++;
}
return answer;
}
}
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - N개의 최소공배수 문제 (자바) (0) | 2021.06.06 |
---|---|
프로그래머스 - 압축 문제 (자바) (0) | 2021.06.04 |
프로그래머스 - 프렌즈4블록 문제 (자바) (0) | 2021.06.04 |
프로그래머스 - [3차] 파일명 정렬 문제 (자바) (0) | 2021.06.03 |
프로그래머스 - JadenCase 문자열 만들기 문제 (자바) (0) | 2021.06.03 |