[Programmers] 모음사전

2023. 9. 4. 12:52Computer Sciences/Problem Solve

https://school.programmers.co.kr/learn/courses/30/lessons/84512

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제 설명

DFS를 활용한 완전탐색으로 해결할 수 있는 문제이다.

코드

import java.util.List;
import java.util.ArrayList;

class Solution {
    private final String[] VOWELS = {"A", "E", "I", "O", "U"};
    private final int MAX = 5;
    
    public int solution(String word) {
        List<String> dict = new ArrayList<>();
        
        for (int i = 0 ; i < MAX; i++) {
            dfs(dict, VOWELS[i]);
        }
        
        return dict.indexOf(word) + 1;
    }
    
    private void dfs(List<String> dict, String str) {
        if (str.length() > MAX) {
            return;
        }
        
        dict.add(str);
        
        for (int i = 0; i < VOWELS.length; i++) {
            dfs(dict, str + VOWELS[i]);
        }
    }
}

'Computer Sciences > Problem Solve' 카테고리의 다른 글

[Programmers] 땅따먹기  (0) 2023.09.05
[Programmers] 게임 맵 최단거리  (0) 2023.09.05
[Programmers] 더 맵게  (0) 2023.09.04
[Programmers] 주식 가격  (0) 2023.08.18
[Programmers] 타겟 넘버  (0) 2023.08.17