https://school.programmers.co.kr/learn/courses/30/lessons/84512?language=java
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
DFS
A,E,I,O,U로만 이루어진 1~5글자가 알파벳 순서로 정렬 되어 있을 때,
주어진 한 문자의 순서를 출력하는 문제
접근 방법
원래 C++로 풀었을 때는 찾고있는 문자가 나오면 멈췄는데
이번에는 그냥 가능한 모든 문자(A,E,I,O,U로 이루어진 1~5자리 글자)를 배열에 넣고
자바 API에 있는 indexOf(value:)로 찾았음
백만년만에 자바로 문제푸니까 까먹은거 투성이
소스코드
Array, ArrayList 선언하는 방법, array -> length, String -> length(), List-> size()
import java.util.*;
class Solution {
    static List<String> words = new ArrayList<>();
    static List<Character> alpha = List.of('A', 'E', 'I', 'O', 'U');
    public void dfs(String word) {
        
        if (word.length() <= 5) {
            words.add(word);
            if (word.length() == 5) {
                return;
            }
        }
        
        alpha.forEach( a -> {
            dfs(word+a);
        });
        
    }
    public int solution(String word) {
        
        dfs("");
        int answer = words.indexOf(word);
        return answer;
    }
}728x90
    
    
  '알고리즘 문제풀이' 카테고리의 다른 글
| [프로그래머스] 파일명 정렬 (Java) (0) | 2025.06.23 | 
|---|---|
| [프로그래머스] 단어 변환 (Java) (2) | 2025.06.20 | 
| [프로그래머스] 전력망을 둘로 나누기 (Swift) (0) | 2025.06.16 | 
| [프로그래머스] 멀리 뛰기 (Swift) (0) | 2025.06.02 | 
| [프로그래머스] 무인도 여행 (Swift) (0) | 2025.06.02 |