21.04.22 03:05 작성
·
164
0
안녕하세요.
다음과 같이 solution을 제출했을때 오답이 나옵니다.
여러가지 case들을 시도해봐도 강사님께서 배표해주신 해답 코드와 같은 답을 얻게되는데, 왜 오답인지 이해가 가질 않아서 문의드립니다.
제가 놓친 부분이 무엇일까요?
import java.util.Scanner;
public class Main {
public String solution(String str) {
String answer = "";
char[] ca = str.toCharArray();
int rt = ca.length - 1;
int lt = 0;
while (lt < rt) {
char left = ca[lt];
char right = ca[rt];
if (!Character.isAlphabetic(left))
lt++;
else if (!Character.isAlphabetic(right))
rt--;
else {
char tmp = ca[lt];
ca[lt] = ca[rt];
ca[rt] = tmp;
lt++;
rt--;
}
}
answer = String.valueOf(ca);
return answer;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String input = in.next();
Main m = new Main();
m.solution(input);
}
}
시도해본 case들:
input: "a#b!GE*T@S" / output: "S#T!EG*b@a"
input: "te$t&%sp" / ouput: "ps$t&%et"
input: "kj#$stpj" / output: "jp#$tsjk"
input: "test&%sp" / output: "psts&%et"
감사합니다.