본문 바로가기

머리맞대는이야기/프로그래머스 (JAVA)

[Summer/Winter Coding] 스킬트리

반응형

출처 : 프로그래머스

programmers.co.kr/learn/courses/30/lessons/49993

 

코딩테스트 연습 - 스킬트리

 

programmers.co.kr

풀이과정

for 문 돌리면서 예외 처리 하면 될 것 같다.

 


작성코드

public int solution(String skill, String[] skill_trees) {
	
    int answer = skill_trees.length;
	int beforeIdx = 0, currentIdx = 0;
	
	for (int i = 0; i < skill_trees.length; i++) {
		
        // 최초의 자리는 미리 구해놓는다.
        beforeIdx = skill_trees[i].indexOf(skill.charAt(0));
		
        for (int j = 1; j < skill.length(); j++) {
			
            currentIdx = skill_trees[i].indexOf(skill.charAt(j));
			
            if((beforeIdx > currentIdx && currentIdx != -1) || (beforeIdx == -1 && currentIdx != -1)) {
				answer--;
				break;
			} 
			beforeIdx = currentIdx;
		}
	}

	return answer;
}

 

memo

졸려서 그런가 한번에 풀지 못하였다(핑계)

내일 시험인데 얼른 자야지(핑계)

하나 알게 된 건 반복문에서 break 걸어서 경우의 수 카운팅할 땐 전체 가능한 경우의 수에서 카운트 차감하는 편이 

중간에 더 수월하게 이것저것 수정할 수 있는 것 같다.

 

 

반응형