https://school.programmers.co.kr/learn/courses/30/lessons/84512
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr

모음으로 만들 수 있는 단어를 사전순으로 정렬했을 때 몇 번째 단어인가?를 확인하자.
맨 처음에 생각하면 쭉 만들며 찾다가 찾으면 종료! 라는 방법을 쓰려했는데... 내 로직처럼 굴러가면 뭔가 값이 이상해질 것 같았음.
그래서 그냥 다 때려 넣어서 만들고 찾는 방법으로 ㄱㄱ
단어의 길이가 5가 아니라면 계속해서 뒤에 새로운 글자를 더하며 재귀를 호출한다.
그러고 맵에 넣음... 인데 굳이? 리스트에 넣고 인덱스오브로 찾으면 더 좋겠더라. 암튼 이런저런 이유로 조금 아쉽지만 이게 어디냐 싶은 코드.
import java.util.*;
class Solution {
static String[] aa = {"A","E","I","O","U"};
static int cnt;
static Map<String,Integer> bb = new HashMap<>();
public int solution(String word) {
int answer = 0;
for(int i=0;i<5;i++)
aaa(aa[i]);
return bb.get(word);
}
static void aaa(String s){
cnt++;
bb.put(s,cnt);
if(s.length()==5) return;
for(int i=0;i<5;i++)
aaa(s+aa[i]);
}
}
'Programmers > Java, Ruby' 카테고리의 다른 글
| 프로그래머스 Java : 하노이탑 (0) | 2026.08.20 |
|---|---|
| 프로그래머스 Java : 쿼드압축 후 개수 세기 (0) | 2026.08.20 |
| 프로그래머스 Java : 문자열 압축 (0) | 2026.08.20 |
| 프로그래머스 Java : 구슬을 나누는 경우의 수 (0) | 2026.08.20 |
| 프로그래머스 Java : 거리두기 확인하기 (0) | 2026.08.20 |