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
|
class Solution {
public int solution(String skill, String[] skill_trees) {
int answer = 0;
for (int i = 0; i < skill_trees.length; i++) {
String s = skill_trees[i];
boolean flag = true;
for (int j = 0; j < skill.length() - 1; j++) {
int p1 = s.indexOf(skill.charAt(j));
int p2 = s.indexOf(skill.charAt(j + 1));
// 선행 스킬 없이 후행 스킬이 나올 경우
if (p1 == -1 && p2 != -1) {
flag = false;
break;
} else if (p2 != -1 && p1 > p2) { // 선행 스킬이 더 뒤에 나올경우
flag = false;
break;
}
}
if (flag)
answer++;
}
return answer;
}
}
|
cs |
다른 사람의 풀이 중 replaceAll로 skill에 있지 않은 값을 다 없애고, skill 값이 순서대로 존재하는지 확인하는 코드가 있었다.
'Programmers > Level2' 카테고리의 다른 글
N개의 최소공배수 (0) | 2021.07.30 |
---|---|
땅따먹기 (0) | 2021.07.30 |
[3차] 파일명 정렬 (0) | 2021.07.30 |
예상 대진표 (0) | 2021.07.30 |
괄호 변환 (0) | 2021.07.29 |