문제 설명
해결과정
Solution.java
import java.util.*;
class Solution {
public int solution(String word) {
int answer = 0;
StringBuilder initialString = new StringBuilder("");
String currentString = "";
while(true) {
// 단어의 길이가 5가 아니라면
if(initialString.length() != 5) {
initialString.append("A");
}
// 단어의 길이가 5라면
else {
// 마지막 단어
char lastChar = initialString.charAt(4);
intersection(initialString, lastChar, 4);
}
currentString = initialString.toString();
answer++;
if(currentString.equals(word)) {break;}
}
return answer;
}
// 마지막 단어 확인
public void intersection(StringBuilder initialString, char lastChar, int index) {
// 마지막 문자를 확인 다음 문자로 변경
switch (lastChar) {
case 'A':
initialString.replace(index, 5, "E");
break;
case 'E':
initialString.replace(index, 5, "I");
break;
case 'I':
initialString.replace(index, 5, "O");
break;
case 'O':
initialString.replace(index, 5, "U");
break;
case 'U':
lastChar = initialString.charAt(index - 1);
intersection(initialString, lastChar, index - 1);
break;
}
}
}
Java
복사