작성
·
208
0
public static String solution(String str) {
char[] originalWord = str.toCharArray();
char[] reverseWord = new StringBuilder(str).reverse().toString().toCharArray();
int length = originalWord.length;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < length; i++) {
if(Character.isAlphabetic(originalWord[i]))
sb.append(reverseWord[i]);
else if(!Character.isAlphabetic(originalWord[i]))
sb.append(originalWord[i]);
}
return sb.toString();
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String str = scan.next();
String result = solution(str);
System.out.println(result);
}
입력받은 문자열을 char 배열로 뒀고
입력받은 문자열을 reverse 하여 char 배열을 하나 생성한 후
입력받은 문자열에 알파벳이 있으면 StringBuilder에 reverse 배열의 해당 인덱스를 가진 문자를 추가하고
없으면 특수문자라고 인식하여 본래의 입력값 배열에서 해당 인덱스를 가진 문자를 StringBuilder 에 추가하여 작성하였습니다.
처음엔 저런식으로 정규식으로 했는데 오답이 떠서 Character.isAlphabetic을 이용했는데도 오답이 뜹니다ㅜ 혹시 제가 놓친 부분이 있거나 메모리적으로 좋지 않은 방법이라서 오답인건지 궁금합니다..!