프로그래머스 43163 단어 변환 JAVA

sundays·2023년 5월 26일
0

문제

단어 변환

풀이

being에서 target으로 값이 변할때까지 가장 짧게 변화된 단계의 숫자를 리턴하면 된다

private static void dfs(int begin, int target, String[] words, int depth) {
	if (begin.equlas(target)) {
    	answer = Math.min(depth, answer);
        return;
    }
    
    int diff = 0;
    for (int i = 0; i < words.length; i++) {
    	if (check[i]) continue;
        String s = words[i];
        
        // words배열과 begin을 비교하여 다른 문자가 몇개 인지 찾는다
        int diff = 0;
        for (int j = 0; j < s.length; j++) {
        	if (begin.charAt(i) != s.charAt(i)) {
                diff++;
            }
        }
    	
    
        // 한번에 한개씩 변환만 가능하다
        if (diff == 1) {
			check[i] = true;
            // s로 문자가 변경되어 다음에 변경할 수 있다
            dfs(s, target, words, depth + 1);
            check[i] = false;
        }
    }
}

전체 코드

전체 코드

profile
develop life

0개의 댓글