반응형
SMALL

# 풀이
1. 문자열을 문자 배열로 바꾼다.
char[] s = str.toCharArray();
2. lt와 rt를 설정한 후, 문자배열에서 알파벳이면 lt와 rt를 교체하고,
알파벳이 아니면 그냥 lt++, rt—를 한다.
3. 문자배열을 다시 String으로 변환한다.
answer = String.valueOf(s);
import java.util.Scanner;
public class Main {
public String solution(String str){
String answer = "";
char[] s = str.toCharArray();
int lt=0, rt=str.length()-1;
while(lt<rt){
// 알파벳이 아니면 그냥 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--;
}
}
// 문자배열 다시 String으로 변환
answer= String.valueOf(s);
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb =new Scanner(System.in);
String str = kb.nextLine();
System.out.println(T.solution(str));
return ;
}
}
반응형
LIST
'자바 알고리즘' 카테고리의 다른 글
07. 회문 문자열 (0) | 2022.04.08 |
---|---|
06. 중복 문자 제거 (0) | 2022.04.08 |
04. 단어 뒤집기 (0) | 2022.04.06 |
03. 문장 속 단어 (0) | 2022.04.06 |
02. 대소문자 변환 (0) | 2022.03.31 |
댓글