https://programmers.co.kr/learn/courses/30/lessons/49993
skill_tree의 원소들을 skill에 등장하는 알파벳만 남기고 모두 없앤 뒤(코드에서 sub에 해당)
skill 문자열에 sub로 시작하면 가능한 스킬트리로 판정되도록 짰당.
다른 분 코드를 보니 정규표현식이 굉장히 편해보인다. 공부해야겠다.
class Solution {
public int solution(String skill, String[] skill_trees) {
int answer = 0;
// skill에 포함되는 알파벳 정보 저장
boolean[] alpha = new boolean[26];
for (var a : skill.toCharArray()) {
int i = (int)a - (int)'A';
alpha[i] = true;
}
for (var s : skill_trees) {
String sub = "";
// 한글자씩 탐색하면서 skill에 해당하면 sub에 추가
for (var c : s.toCharArray()) {
if (alpha[(int)c - (int)'A']) {
sub += c;
}
}
if (skill.startsWith(sub)) answer++;
}
return answer;
}
}
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 점프와 순간 이동 - Java (0) | 2020.05.19 |
---|---|
[프로그래머스] 소수 만들기 - Java (0) | 2020.05.19 |
[프로그래머스] 예산 - Java (0) | 2020.05.19 |
[프로그래머스] 지형 이동 - Java (0) | 2020.05.18 |
[프로그래머스] 종이접기 - Java (0) | 2020.05.18 |