https://school.programmers.co.kr/learn/courses/30/lessons/49993
코딩테스트 연습 > Summer/Winter Coding(~2018) > 스킬트리
난이도: LEVEL2
알고리즘 유형: 구현
정답 코드
import java.util.*;
import java.util.stream.*;
class Solution {
static HashSet<Character> set = new HashSet<>();
public int solution(String skill, String[] skill_trees) {
init(skill);
return check(skill_trees, skill);
}
public static void init(String skill){
IntStream.range(0, skill.length())
.forEach(i -> {
set.add(skill.charAt(i));
});
}
public static int check(String [] skill_trees, String skill){
int cnt = 0;
StringBuilder sb = new StringBuilder();
for(String skill_tree : skill_trees){
IntStream.range(0, skill_tree.length())
.forEach(i -> {
char cur = skill_tree.charAt(i);
if(set.contains(cur)) sb.append(cur);
});
String cur = sb.toString();
boolean flag = true;
for(int i = 0; i < cur.length(); i++){
if(skill.charAt(i) != cur.charAt(i)){
flag = false;
break;
}
}
if(flag) cnt++;
sb.setLength(0);
}
return cnt;
}
}
'Algorithm > Programmers Java' 카테고리의 다른 글
[JAVA] 프로그래머스 LEVEL2 방문 길이 (2) | 2024.10.11 |
---|---|
[JAVA] 프로그래머스 LEVEL2 괄호 변환 (4) | 2024.10.11 |
[JAVA] 프로그래머스 LEVEL2 오픈채팅방 (2) | 2024.10.10 |
[JAVA] 프로그래머스 LEVEL2 [3차] 파일명 정렬 (4) | 2024.10.10 |
[JAVA] 프로그래머스 LEVEL2 [3차] 압축 (3) | 2024.10.09 |