풀이
4번의 세번째 투포인터 풀이와 같은 방법을 사용하는데 문제 설명이 자세하지 않아서 특수문자 일 경우 스킵하는 걸 상세하게 구현하지 못했다.
public class Main {
public String solution(String str) {
String answer= "";
// 특정문자만 뒤집을 때,
char[] s = str.toCharArray();
int lt = 0, rt = str.length()-1;
while (lt<rt) {
if(!Character.isAlphabetic(s[lt])) {
lt++;
} else if (!Character.isAlphabetic(s[rt])){
rt--;
} else {
char tmp = s[lt];
s[lt] = s[rt];
s[rt] = tmp;
lt++;
rt--;
}
}
/*for (int i = 0; i < s.length; i++) {
answer += s[i];
}*/
// String.valueOf로 char[]배열을 String 으로 변환할 수 있음
answer = String.valueOf(s);
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner sc = new Scanner(System.in);
String str = sc.next();
System.out.println(T.solution(str));
}
}
'알고리즘 > 인프런_자바코테강의' 카테고리의 다른 글
인프런 7. 회문 문자열(JAVA) (0) | 2022.03.25 |
---|---|
인프런 6. 중복 문자 제거 (Java) (0) | 2022.03.10 |
인프런 4. 단어뒤집기 (Java) (0) | 2022.03.10 |
인프런 3. 문장 속 단어 (Java) (0) | 2022.03.07 |
인프런 2. 대소문자 변환 (Java) (0) | 2022.03.07 |