728x90
💡 풀이
해당 문제는 문자열을 다루는 문제이다.
접근 방식
- skills_trees 탐색을 하면서 skill에 존재하는 문자일 때 StringBuilder에 추가한다.
- skill과 비교하면서 순서가 올바르다면 answer에 1을 더해준다.
다른 사람의 풀이를 보니 정규식을 이용해서 간단하게 풀었던데 정규식 공부를 해야겠다.
💻 코드
class Solution {
public int solution(String skill, String[] skill_trees) {
int answer = 0;
for (String s : skill_trees) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
String temp = String.valueOf(s.charAt(i));
if (skill.contains(temp)) {
sb.append(temp);
}
}
boolean flag = false;
for (int i = 0; i < sb.length(); i++) {
if (skill.charAt(i) != sb.toString().charAt(i)) {
flag = true;
break;
}
}
if (!flag) {
answer += 1;
}
}
return answer;
}
}
728x90
'Algorithm > 프로그래머스' 카테고리의 다른 글
[Java] 프로그래머스 Lv2 - [3차] 방금 그 곡 (2018 KAKAO BLIND RECRUITMENT) (0) | 2022.05.29 |
---|---|
[Java] 프로그래머스 Lv2 - 방문 길이 (0) | 2022.04.15 |
[Java] 프로그래머스 Lv2 - 쿼드압축 후 개수 세기 (0) | 2022.04.13 |
[Java] 프로그래머스 Lv2 - n^2 배열 자르기 (0) | 2022.04.12 |
[Java] 프로그래머스 - 로또의 최고 순위와 최저 순위(Level 1) (0) | 2022.04.10 |