https://school.programmers.co.kr/learn/courses/30/lessons/84512
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
완전 탐색이라 어떻게 완전 탐색을 할지 고민이 되었는데 최근에 DFS를 학습하였기때문에 DFS를 통해 모든 단어들을
배열에 넣기로 하였다.
단어의 길이가 5까지 밖에 안되기때문에 완전탐색이 가능한것이라 이해했다.
import java.util.*;
class Solution {
static String [] words = {"A", "E", "I", "O", "U"};
public int solution(String word) {
int answer = 0;
ArrayList<String> list = new ArrayList<>();
dfs("", 0, list);
int size = list.size();
for (int i = 0; i < size; i++) {
if (list.get(i).equals(word)) {
answer = i;
break;
}
}
return answer;
}
void dfs(String str, int len, ArrayList<String> list) {
list.add(str);
if (len == 5) return;
for (int i = 0; i < 5; i++) {
dfs(str + words[i], len + 1, list);
}
}
}
다른 알고리즘인 MST관련 알고리즘도 학습해 봐야겠다.
반응형
'프로그래머스' 카테고리의 다른 글
99클럽 코테 스터디 18일차 TIL 연속된 부분 수열의 합 - 자바(Java) (1) | 2024.04.16 |
---|---|
99클럽 코테 스터디 17일차 TIL JadenCase 문자열 만들기 - 자바Java (0) | 2024.04.14 |
99클럽 코테 스터디 15일차 TIL 뒤에 있는 큰 수 찾기 (0) | 2024.04.12 |
99클럽 코테 스터디 14일차 TIL 섬연결하기 (서로소 집합) 자바(Java) (0) | 2024.04.11 |
프로그래머스99클럽 코테 스터디 13일차 TIL 이진 변환 반복하기(String문자열의 비교) (0) | 2024.04.10 |