https://school.programmers.co.kr/learn/courses/30/lessons/49993
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr

전체 코드
import java.util.*;
class Solution {
public int solution(String skill, String[] skill_trees) {
int answer = 0;
Set<Character> set = new HashSet<>();//skill set
for(int i=0;i<skill.length();i++)
set.add(skill.charAt(i));
for(int i=0;i<skill_trees.length;i++){
int idx=0;//skill 인덱스 -> 순차적으로 사용되는지 idx로 확인
boolean sequential=true; //순차적인지 확인
for(int j=0;j<skill_trees[i].length();j++){
char ch = skill_trees[i].charAt(j);
if(set.contains(ch)){ // 선행 스킬에 포함되어 있고
//순차적으로 스킬을 배우면
if(skill.charAt(idx)==ch) idx++; // 다음 순차의 스킬 index 저장
else{//순차적이지 않다면 break
sequential=false;break;
}
}
}
if(sequential) answer++; // 순차적으로 모든 스킬을 배웠다면 answer+1
}
return answer;
}
}'Algorithms(CT) > Programmers' 카테고리의 다른 글
| [프로그래머스] Lv.2 뒤에 있는 큰 수 찾기 (Java) (0) | 2023.07.01 |
|---|---|
| [프로그래머스]Lv2. 파일명 정렬 (Java) (0) | 2023.06.29 |
| [프로그래머스] Lv.2 방문 길이 (Java) (0) | 2023.06.29 |
| [프로그래머스] Lv.2 땅따먹기 (Java) (0) | 2023.06.29 |
| [프로그래머스] Lv.3 순위 (Java) (0) | 2023.06.27 |