728x90
선행 스킬을 찍기전에 나오면 안되는 스킬이 나온다면
flag를 활용해 false처리해줌 for문을 돌고난 후에도 flag값이
여전히 참일 경우 문제에서 요구하는 스킬트리 조건을 달성하므로
answer를 counting해줌
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | class Solution { public int solution(String skill, String[] skill_trees) { int answer = 0; for(int i=0; i<skill_trees.length; i++){ int skiIdx=0; boolean flag = true; for(int j=0; j<skill_trees[i].length(); j++){ // 스킬트리 순회 for(int k=skiIdx; k<skill.length(); k++){ if(skill.charAt(k)==skill_trees[i].charAt(j)) { if(k!=skiIdx) flag=false; else { skiIdx++; } } } } if(flag) answer++; } return answer; } } |
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스][Java] 124나라의 숫자 (0) | 2019.03.14 |
---|---|
[프로그래머스][Java] 탑 (0) | 2019.03.13 |
[프로그래머스][Java] 주식가격 (0) | 2019.03.13 |
[프로그래머스][Java] 예산 (0) | 2019.03.13 |
[프로그래머스][Java] 직사각형 별 찍기 (0) | 2019.03.13 |