https://programmers.co.kr/learn/courses/30/lessons/49993#
어제 밤에 풀다가 몇개 케이스들이 에러가 나서 아침에 풀어야겠다~ 하고 일어났는데
그럼에도 불구하고, 잘 모르겠어서 일단 코드를 올리고 다음에 한번 다시 풀어보려고 합니다!
코드도 별로 맘에 안들고 제대로 다시 풀어서 올려볼겠습니다
import java.util.*;
class Solution {
public int solution(String skill, String[] skill_trees) {
int answer = 0;
int temp = 0;
String[] skill_split = skill.split("");
for(String str : skill_trees){
String[] skill_tree = str.split("");
Queue<String> use_able = new LinkedList<>();
Queue<String> use_not = new LinkedList<>();
for(int i=0; i<skill_split.length; i++){
if(i==0)
use_able.offer(skill_split[i]);
else
use_not.offer(skill_split[i]);
}
String last = skill_split[0];
for(int i=0; i< skill_tree.length; i++){
if(skill.contains(skill_tree[i])){
if(use_able.contains(skill_tree[i])){
if(skill_tree[i].equals(last)){
last = use_not.peek();
use_able.offer(use_not.poll());
}
} else{
break;
}
}
temp++;
if(temp == skill_tree.length){
answer++;
temp=0;
}
}
}
return answer;
}
}
'알고리즘' 카테고리의 다른 글
프로그래머스 - 탑 (0) | 2020.03.21 |
---|---|
프로그래머스 - 스킬트리(정답) (0) | 2020.03.21 |
프로그래머스(Level 2) - 더 맵게 (1) | 2020.03.15 |
프로그래머스(Level2) - 가장 큰 수 (0) | 2020.03.15 |
프로그래머스 - 다리를 지나는 트럭 (2) | 2020.03.14 |