작성
·
256
0
import java.util.Scanner;
public class Main {
public String solution(String str){
char[] chaArray = str.toCharArray();
int lt = 0;
int rt = str.length()-1;
while(lt < rt){
char temp = chaArray[lt];
if(Character.isLetterOrDigit(temp) == true){
chaArray[lt] = chaArray[rt];
chaArray[rt] = temp;
}
lt ++;
rt --;
}
return String.valueOf(chaArray);
}
public static void main(String[] args) {
Main main = new Main();
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
System.out.println(main.solution(str));
}
}
처음에는 솔루션메서드 안에서 호출해도 안되서
main안에서 바로 출력해도 오답이라고 나오네요 계속...
답변 3
1
앗! 선생님이 다른 글에 달아주신 예제가 반례내요!
input: "kj#$stpj" / output: "jp#$tsjk"
제가 문제를 제대로 이해하지 못했던 것 같아요 감사합니다!
1
0
안녕하세요! 강의 잘 듣고 있습니다!
교수님 if (Character.isAlphabetic(charArray[lt]) && Character.isAlphabetic(charArray[rt])) 으로 좌측 값과 우측 값이 모두 알파벳이면 바꿔주는 방식으로 했는데 https://cote.inflearn.com/contest/10/problem/01-05 문제풀이 사이트에서 오답으로 나와서 혹시 반례가 있을까요?
import java.util.Scanner;
public class Main {
public String solution(String string) {
String answer = "";
int lt = 0, rt = string.length() - 1;
char[] charArray = string.toCharArray();
while (lt < rt){
if (Character.isAlphabetic(charArray[lt]) && Character.isAlphabetic(charArray[rt])){
char temp = charArray[lt];
charArray[lt] = charArray[rt];
charArray[rt] = temp;
}
lt++;
rt--;
}
answer = String.valueOf(charArray);
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner scan = new Scanner(System.in);
String input = scan.next();
System.out.println(T.solution(input));
}
}
안녕하세요^^
주말에도 열심히 공부하시네요. 화이팅하세요!!