IT/알고리즘

프로그래머스 스킬트리(java)

어센트 2019. 11. 11. 15:10

	public int solution(String skill, String[] skill_trees) {
		int answer = 0;
		int [] chk = new int[skill.length()];
		for(String temp : skill_trees) {
			int flag = 1;
			for(int i=0;i<skill.length();i++) {
					chk[i]=temp.indexOf(skill.charAt(i));
			}
			for(int i=0;i<skill.length()-1;i++) {
				if((chk[i]==-1&&chk[i+1]!=-1) || chk[i+1]!=-1 && chk[i]>chk[i+1] ) { 
                //1.앞의 스킬을 찍지 않았는데 뒤의 스킬을 선택한경우
                //2.앞의 스킬보다 뒤의 스킬을 먼저 선택한 경우
					flag = 0;
					break;
				}
				
			}
		
			if(flag==1)answer++;
		}
		return answer;
	}