728x90
문제
풀이
- 선행 스킬의 맨 처음 스킬부터 유저가 만든 스킬트리와 비교
- 현재 체크해야 할 선행 스킬과 유저 스킬트리에서 체크해야 할 스킬이 같으면 다음 선행 스킬로 idx 증가
- 선행 스킬에 있는 스킬이 유저 스킬 트리에 있는 경우 cnt 증가
- 최종적으로 스킬 트리 끝까지 비교 후 idx와 cnt가 같으면 선행 스킬 순서대로 있다고 판단하여 answer 증가
코드
import java.util.*;
class Solution {
public int solution(String skill, String[] skill_trees) {
int answer = 0;
ArrayList<Character> s = new ArrayList<>(); // skill
for (char c : skill.toCharArray())
s.add(c);
int cc = 0;
for (String user : skill_trees) {
int idx = 0, cnt = 0;
for (int i = 0; i < user.length(); i++) {
if (idx < skill.length() && skill.charAt(idx) == user.charAt(i))
idx++;
if (s.contains(user.charAt(i)))
cnt++;
}
if (cnt == idx)
answer++;
}
return answer;
}
}
'프로그래머스' 카테고리의 다른 글
프로그래머스 lv2 - 괄호 회전하기 (자바) (0) | 2024.07.01 |
---|---|
프로그래머스 lv2 - 다리를 지나는 트럭 (자바) (0) | 2024.06.23 |
프로그래머스 lv2 - 두 큐 합 같게 만들기 (자바) [2022 KAKAO TECH INTERNSHIP] (0) | 2024.06.23 |
프로그래머스 lv2 - 구명보트 (자바) (0) | 2024.06.22 |
프로그래머스 lv2 - 요격 시스템 (자바) (0) | 2024.06.22 |